﻿2026-06-08T23:22:37.3714405Z ##[group]Run ./traceable-reqs check --json
2026-06-08T23:22:37.3715565Z [36;1m./traceable-reqs check --json[0m
2026-06-08T23:22:37.3730760Z shell: /usr/bin/bash -e {0}
2026-06-08T23:22:37.3731852Z ##[endgroup]
2026-06-08T23:22:37.4217435Z {
2026-06-08T23:22:37.4218905Z   "schemaVersion": 1,
2026-06-08T23:22:37.4220498Z   "summary": {
2026-06-08T23:22:37.4222492Z     "requirementCount": 172,
2026-06-08T23:22:37.4224217Z     "completeCount": 172,
2026-06-08T23:22:37.4225873Z     "incompleteCount": 0,
2026-06-08T23:22:37.4227656Z     "findingCount": 0
2026-06-08T23:22:37.4229147Z   },
2026-06-08T23:22:37.4230500Z   "requirements": [
2026-06-08T23:22:37.4231951Z     {
2026-06-08T23:22:37.4233286Z       "id": "REQ-API-1",
2026-06-08T23:22:37.4235475Z       "title": "api prefix and adapter_name on every machinery invocation",
2026-06-08T23:22:37.4238202Z       "requiredStages": [
2026-06-08T23:22:37.4239413Z         "impl",
2026-06-08T23:22:37.4240454Z         "unit",
2026-06-08T23:22:37.4241839Z         "int"
2026-06-08T23:22:37.4243279Z       ],
2026-06-08T23:22:37.4244609Z       "stages": {
2026-06-08T23:22:37.4246049Z         "doc": {
2026-06-08T23:22:37.4247640Z           "complete": false,
2026-06-08T23:22:37.4249339Z           "evidence": []
2026-06-08T23:22:37.4250848Z         },
2026-06-08T23:22:37.4252202Z         "impl": {
2026-06-08T23:22:37.4253891Z           "complete": true,
2026-06-08T23:22:37.4255121Z           "evidence": [
2026-06-08T23:22:37.4256207Z             {
2026-06-08T23:22:37.4257428Z               "path": "crates/spt/src/api/mod.rs",
2026-06-08T23:22:37.4258928Z               "line": 15
2026-06-08T23:22:37.4260305Z             }
2026-06-08T23:22:37.4261584Z           ]
2026-06-08T23:22:37.4262605Z         },
2026-06-08T23:22:37.4263484Z         "int": {
2026-06-08T23:22:37.4264465Z           "complete": true,
2026-06-08T23:22:37.4265592Z           "evidence": [
2026-06-08T23:22:37.4266597Z             {
2026-06-08T23:22:37.4267898Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-08T23:22:37.4269306Z               "line": 13
2026-06-08T23:22:37.4270274Z             }
2026-06-08T23:22:37.4271098Z           ]
2026-06-08T23:22:37.4272163Z         },
2026-06-08T23:22:37.4273280Z         "unit": {
2026-06-08T23:22:37.4274197Z           "complete": true,
2026-06-08T23:22:37.4275184Z           "evidence": [
2026-06-08T23:22:37.4276119Z             {
2026-06-08T23:22:37.4277409Z               "path": "crates/spt/src/api/mod.rs",
2026-06-08T23:22:37.4279087Z               "line": 442
2026-06-08T23:22:37.4280296Z             },
2026-06-08T23:22:37.4281349Z             {
2026-06-08T23:22:37.4282534Z               "path": "crates/spt/src/api/mod.rs",
2026-06-08T23:22:37.4283982Z               "line": 448
2026-06-08T23:22:37.4284862Z             },
2026-06-08T23:22:37.4285658Z             {
2026-06-08T23:22:37.4286849Z               "path": "crates/spt/src/api/mod.rs",
2026-06-08T23:22:37.4288117Z               "line": 515
2026-06-08T23:22:37.4288980Z             }
2026-06-08T23:22:37.4289746Z           ]
2026-06-08T23:22:37.4290421Z         }
2026-06-08T23:22:37.4291080Z       }
2026-06-08T23:22:37.4291733Z     },
2026-06-08T23:22:37.4292390Z     {
2026-06-08T23:22:37.4293046Z       "id": "REQ-API-2",
2026-06-08T23:22:37.4294305Z       "title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
2026-06-08T23:22:37.4295747Z       "requiredStages": [
2026-06-08T23:22:37.4296553Z         "impl",
2026-06-08T23:22:37.4297371Z         "unit",
2026-06-08T23:22:37.4298076Z         "int"
2026-06-08T23:22:37.4298763Z       ],
2026-06-08T23:22:37.4299707Z       "stages": {
2026-06-08T23:22:37.4300455Z         "doc": {
2026-06-08T23:22:37.4301187Z           "complete": false,
2026-06-08T23:22:37.4302032Z           "evidence": []
2026-06-08T23:22:37.4302807Z         },
2026-06-08T23:22:37.4303477Z         "impl": {
2026-06-08T23:22:37.4304216Z           "complete": true,
2026-06-08T23:22:37.4305036Z           "evidence": [
2026-06-08T23:22:37.4305791Z             {
2026-06-08T23:22:37.4306874Z               "path": "crates/spt-store/src/history.rs",
2026-06-08T23:22:37.4308013Z               "line": 15
2026-06-08T23:22:37.4308776Z             },
2026-06-08T23:22:37.4309466Z             {
2026-06-08T23:22:37.4310268Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-08T23:22:37.4311294Z               "line": 20
2026-06-08T23:22:37.4312200Z             },
2026-06-08T23:22:37.4312897Z             {
2026-06-08T23:22:37.4313699Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-08T23:22:37.4314742Z               "line": 139
2026-06-08T23:22:37.4315525Z             },
2026-06-08T23:22:37.4316218Z             {
2026-06-08T23:22:37.4317167Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-08T23:22:37.4318230Z               "line": 21
2026-06-08T23:22:37.4318997Z             },
2026-06-08T23:22:37.4319689Z             {
2026-06-08T23:22:37.4320527Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-08T23:22:37.4321632Z               "line": 38
2026-06-08T23:22:37.4322440Z             },
2026-06-08T23:22:37.4323143Z             {
2026-06-08T23:22:37.4323971Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-08T23:22:37.4325071Z               "line": 190
2026-06-08T23:22:37.4325870Z             },
2026-06-08T23:22:37.4326584Z             {
2026-06-08T23:22:37.4327493Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-08T23:22:37.4328591Z               "line": 232
2026-06-08T23:22:37.4329386Z             },
2026-06-08T23:22:37.4330090Z             {
2026-06-08T23:22:37.4330902Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-08T23:22:37.4332006Z               "line": 262
2026-06-08T23:22:37.4332782Z             },
2026-06-08T23:22:37.4333482Z             {
2026-06-08T23:22:37.4334275Z               "path": "crates/spt/src/api/worker.rs",
2026-06-08T23:22:37.4335296Z               "line": 17
2026-06-08T23:22:37.4336054Z             },
2026-06-08T23:22:37.4336746Z             {
2026-06-08T23:22:37.4337681Z               "path": "crates/spt/src/api/worker.rs",
2026-06-08T23:22:37.4338682Z               "line": 30
2026-06-08T23:22:37.4339447Z             },
2026-06-08T23:22:37.4340137Z             {
2026-06-08T23:22:37.4340927Z               "path": "crates/spt/src/api/worker.rs",
2026-06-08T23:22:37.4341933Z               "line": 63
2026-06-08T23:22:37.4342705Z             },
2026-06-08T23:22:37.4343399Z             {
2026-06-08T23:22:37.4344215Z               "path": "crates/spt/src/api/worker.rs",
2026-06-08T23:22:37.4345224Z               "line": 76
2026-06-08T23:22:37.4345990Z             }
2026-06-08T23:22:37.4346681Z           ]
2026-06-08T23:22:37.4347406Z         },
2026-06-08T23:22:37.4348077Z         "int": {
2026-06-08T23:22:37.4348826Z           "complete": true,
2026-06-08T23:22:37.4349651Z           "evidence": [
2026-06-08T23:22:37.4350419Z             {
2026-06-08T23:22:37.4351259Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-08T23:22:37.4352365Z               "line": 14
2026-06-08T23:22:37.4353155Z             },
2026-06-08T23:22:37.4353855Z             {
2026-06-08T23:22:37.4354679Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-08T23:22:37.4355785Z               "line": 183
2026-06-08T23:22:37.4356573Z             }
2026-06-08T23:22:37.4357399Z           ]
2026-06-08T23:22:37.4358091Z         },
2026-06-08T23:22:37.4358774Z         "unit": {
2026-06-08T23:22:37.4359521Z           "complete": true,
2026-06-08T23:22:37.4360347Z           "evidence": [
2026-06-08T23:22:37.4361123Z             {
2026-06-08T23:22:37.4361943Z               "path": "crates/spt-store/src/history.rs",
2026-06-08T23:22:37.4363050Z               "line": 42
2026-06-08T23:22:37.4363830Z             },
2026-06-08T23:22:37.4364567Z             {
2026-06-08T23:22:37.4365393Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-08T23:22:37.4366495Z               "line": 254
2026-06-08T23:22:37.4367353Z             },
2026-06-08T23:22:37.4368054Z             {
2026-06-08T23:22:37.4369038Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-08T23:22:37.4370139Z               "line": 438
2026-06-08T23:22:37.4370931Z             },
2026-06-08T23:22:37.4371635Z             {
2026-06-08T23:22:37.4372456Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-08T23:22:37.4373610Z               "line": 449
2026-06-08T23:22:37.4374395Z             },
2026-06-08T23:22:37.4375075Z             {
2026-06-08T23:22:37.4375900Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-08T23:22:37.4377074Z               "line": 581
2026-06-08T23:22:37.4377857Z             },
2026-06-08T23:22:37.4378544Z             {
2026-06-08T23:22:37.4379366Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-08T23:22:37.4380409Z               "line": 593
2026-06-08T23:22:37.4381190Z             },
2026-06-08T23:22:37.4381896Z             {
2026-06-08T23:22:37.4382697Z               "path": "crates/spt/src/api/worker.rs",
2026-06-08T23:22:37.4383798Z               "line": 141
2026-06-08T23:22:37.4384595Z             },
2026-06-08T23:22:37.4385288Z             {
2026-06-08T23:22:37.4386093Z               "path": "crates/spt/src/api/worker.rs",
2026-06-08T23:22:37.4387536Z               "line": 185
2026-06-08T23:22:37.4388708Z             }
2026-06-08T23:22:37.4389570Z           ]
2026-06-08T23:22:37.4390427Z         }
2026-06-08T23:22:37.4391250Z       }
2026-06-08T23:22:37.4392065Z     },
2026-06-08T23:22:37.4392870Z     {
2026-06-08T23:22:37.4393714Z       "id": "REQ-API-3",
2026-06-08T23:22:37.4395026Z       "title": "commune/signoff are file-drops, not commands",
2026-06-08T23:22:37.4396496Z       "requiredStages": [
2026-06-08T23:22:37.4397597Z         "impl",
2026-06-08T23:22:37.4398485Z         "unit",
2026-06-08T23:22:37.4399359Z         "int"
2026-06-08T23:22:37.4400212Z       ],
2026-06-08T23:22:37.4400909Z       "stages": {
2026-06-08T23:22:37.4401629Z         "doc": {
2026-06-08T23:22:37.4416412Z           "complete": false,
2026-06-08T23:22:37.4417415Z           "evidence": []
2026-06-08T23:22:37.4418236Z         },
2026-06-08T23:22:37.4418913Z         "impl": {
2026-06-08T23:22:37.4419663Z           "complete": true,
2026-06-08T23:22:37.4420497Z           "evidence": [
2026-06-08T23:22:37.4421270Z             {
2026-06-08T23:22:37.4422073Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-08T23:22:37.4423178Z               "line": 27
2026-06-08T23:22:37.4423947Z             },
2026-06-08T23:22:37.4424633Z             {
2026-06-08T23:22:37.4425456Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-08T23:22:37.4426560Z               "line": 372
2026-06-08T23:22:37.4427398Z             }
2026-06-08T23:22:37.4428067Z           ]
2026-06-08T23:22:37.4428720Z         },
2026-06-08T23:22:37.4429369Z         "int": {
2026-06-08T23:22:37.4430090Z           "complete": true,
2026-06-08T23:22:37.4430909Z           "evidence": [
2026-06-08T23:22:37.4431650Z             {
2026-06-08T23:22:37.4432456Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-08T23:22:37.4433563Z               "line": 257
2026-06-08T23:22:37.4434344Z             }
2026-06-08T23:22:37.4435020Z           ]
2026-06-08T23:22:37.4435803Z         },
2026-06-08T23:22:37.4436575Z         "unit": {
2026-06-08T23:22:37.4437523Z           "complete": true,
2026-06-08T23:22:37.4438508Z           "evidence": [
2026-06-08T23:22:37.4439352Z             {
2026-06-08T23:22:37.4440266Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-08T23:22:37.4441412Z               "line": 242
2026-06-08T23:22:37.4442266Z             },
2026-06-08T23:22:37.4443088Z             {
2026-06-08T23:22:37.4443974Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-08T23:22:37.4445204Z               "line": 622
2026-06-08T23:22:37.4446077Z             }
2026-06-08T23:22:37.4446844Z           ]
2026-06-08T23:22:37.4447684Z         }
2026-06-08T23:22:37.4471676Z       }
2026-06-08T23:22:37.4472331Z     },
2026-06-08T23:22:37.4472955Z     {
2026-06-08T23:22:37.4473604Z       "id": "REQ-ARCH-1",
2026-06-08T23:22:37.4475007Z       "title": "Many small acyclically-layered crates",
2026-06-08T23:22:37.4476119Z       "requiredStages": [
2026-06-08T23:22:37.4476885Z         "impl"
2026-06-08T23:22:37.4477633Z       ],
2026-06-08T23:22:37.4478262Z       "stages": {
2026-06-08T23:22:37.4478945Z         "doc": {
2026-06-08T23:22:37.4479773Z           "complete": false,
2026-06-08T23:22:37.4480577Z           "evidence": []
2026-06-08T23:22:37.4481315Z         },
2026-06-08T23:22:37.4481959Z         "impl": {
2026-06-08T23:22:37.4482676Z           "complete": true,
2026-06-08T23:22:37.4483478Z           "evidence": [
2026-06-08T23:22:37.4484216Z             {
2026-06-08T23:22:37.4484987Z               "path": "crates/spt-msg/src/lib.rs",
2026-06-08T23:22:37.4485977Z               "line": 16
2026-06-08T23:22:37.4486736Z             },
2026-06-08T23:22:37.4487493Z             {
2026-06-08T23:22:37.4488261Z               "path": "crates/spt-proto/src/lib.rs",
2026-06-08T23:22:37.4489253Z               "line": 12
2026-06-08T23:22:37.4490014Z             },
2026-06-08T23:22:37.4490683Z             {
2026-06-08T23:22:37.4491433Z               "path": "crates/spt-store/src/lib.rs",
2026-06-08T23:22:37.4492402Z               "line": 12
2026-06-08T23:22:37.4493129Z             }
2026-06-08T23:22:37.4493775Z           ]
2026-06-08T23:22:37.4494423Z         },
2026-06-08T23:22:37.4495058Z         "int": {
2026-06-08T23:22:37.4495750Z           "complete": false,
2026-06-08T23:22:37.4496561Z           "evidence": []
2026-06-08T23:22:37.4497386Z         },
2026-06-08T23:22:37.4498020Z         "unit": {
2026-06-08T23:22:37.4498715Z           "complete": false,
2026-06-08T23:22:37.4499517Z           "evidence": []
2026-06-08T23:22:37.4500255Z         }
2026-06-08T23:22:37.4500875Z       }
2026-06-08T23:22:37.4501488Z     },
2026-06-08T23:22:37.4502098Z     {
2026-06-08T23:22:37.4502751Z       "id": "REQ-ARCH-2",
2026-06-08T23:22:37.4503853Z       "title": "Public SDK surface is spt-proto, spt-runtime, spt-msg",
2026-06-08T23:22:37.4505056Z       "requiredStages": [
2026-06-08T23:22:37.4505814Z         "impl"
2026-06-08T23:22:37.4506468Z       ],
2026-06-08T23:22:37.4507184Z       "stages": {
2026-06-08T23:22:37.4507865Z         "doc": {
2026-06-08T23:22:37.4508570Z           "complete": false,
2026-06-08T23:22:37.4509376Z           "evidence": []
2026-06-08T23:22:37.4510120Z         },
2026-06-08T23:22:37.4510754Z         "impl": {
2026-06-08T23:22:37.4511454Z           "complete": true,
2026-06-08T23:22:37.4512238Z           "evidence": [
2026-06-08T23:22:37.4512954Z             {
2026-06-08T23:22:37.4513712Z               "path": "crates/spt-runtime/src/lib.rs",
2026-06-08T23:22:37.4514690Z               "line": 18
2026-06-08T23:22:37.4515420Z             }
2026-06-08T23:22:37.4516064Z           ]
2026-06-08T23:22:37.4516682Z         },
2026-06-08T23:22:37.4517377Z         "int": {
2026-06-08T23:22:37.4518064Z           "complete": false,
2026-06-08T23:22:37.4518854Z           "evidence": []
2026-06-08T23:22:37.4519583Z         },
2026-06-08T23:22:37.4520212Z         "unit": {
2026-06-08T23:22:37.4520919Z           "complete": false,
2026-06-08T23:22:37.4521719Z           "evidence": []
2026-06-08T23:22:37.4522460Z         }
2026-06-08T23:22:37.4523084Z       }
2026-06-08T23:22:37.4523685Z     },
2026-06-08T23:22:37.4524295Z     {
2026-06-08T23:22:37.4524940Z       "id": "REQ-ARCH-3",
2026-06-08T23:22:37.4526185Z       "title": "Wire-protocol version independent of crate semver, N-1 compat window",
2026-06-08T23:22:37.4527636Z       "requiredStages": [
2026-06-08T23:22:37.4528390Z         "impl",
2026-06-08T23:22:37.4529057Z         "unit"
2026-06-08T23:22:37.4529729Z       ],
2026-06-08T23:22:37.4530362Z       "stages": {
2026-06-08T23:22:37.4531030Z         "doc": {
2026-06-08T23:22:37.4531726Z           "complete": false,
2026-06-08T23:22:37.4532532Z           "evidence": []
2026-06-08T23:22:37.4533268Z         },
2026-06-08T23:22:37.4533902Z         "impl": {
2026-06-08T23:22:37.4534598Z           "complete": true,
2026-06-08T23:22:37.4535515Z           "evidence": [
2026-06-08T23:22:37.4536235Z             {
2026-06-08T23:22:37.4537122Z               "path": "crates/spt-proto/src/version.rs",
2026-06-08T23:22:37.4538125Z               "line": 34
2026-06-08T23:22:37.4538869Z             },
2026-06-08T23:22:37.4539527Z             {
2026-06-08T23:22:37.4540434Z               "path": "crates/spt-proto/src/version.rs",
2026-06-08T23:22:37.4541434Z               "line": 41
2026-06-08T23:22:37.4542172Z             }
2026-06-08T23:22:37.4542834Z           ]
2026-06-08T23:22:37.4543475Z         },
2026-06-08T23:22:37.4544105Z         "int": {
2026-06-08T23:22:37.4544810Z           "complete": false,
2026-06-08T23:22:37.4545622Z           "evidence": []
2026-06-08T23:22:37.4546361Z         },
2026-06-08T23:22:37.4547106Z         "unit": {
2026-06-08T23:22:37.4547812Z           "complete": true,
2026-06-08T23:22:37.4548595Z           "evidence": [
2026-06-08T23:22:37.4549324Z             {
2026-06-08T23:22:37.4550120Z               "path": "crates/spt-proto/src/version.rs",
2026-06-08T23:22:37.4551140Z               "line": 51
2026-06-08T23:22:37.4551888Z             },
2026-06-08T23:22:37.4552551Z             {
2026-06-08T23:22:37.4553352Z               "path": "crates/spt-proto/src/version.rs",
2026-06-08T23:22:37.4554355Z               "line": 71
2026-06-08T23:22:37.4555114Z             },
2026-06-08T23:22:37.4555772Z             {
2026-06-08T23:22:37.4556564Z               "path": "crates/spt-proto/src/version.rs",
2026-06-08T23:22:37.4557661Z               "line": 83
2026-06-08T23:22:37.4558401Z             }
2026-06-08T23:22:37.4559056Z           ]
2026-06-08T23:22:37.4559694Z         }
2026-06-08T23:22:37.4560319Z       }
2026-06-08T23:22:37.4560925Z     },
2026-06-08T23:22:37.4561535Z     {
2026-06-08T23:22:37.4562192Z       "id": "REQ-ARCH-4",
2026-06-08T23:22:37.4563316Z       "title": "Copy-verbatim the commodity layer from the sister project",
2026-06-08T23:22:37.4564596Z       "requiredStages": [
2026-06-08T23:22:37.4565369Z         "impl",
2026-06-08T23:22:37.4566041Z         "unit"
2026-06-08T23:22:37.4566709Z       ],
2026-06-08T23:22:37.4567425Z       "stages": {
2026-06-08T23:22:37.4568102Z         "doc": {
2026-06-08T23:22:37.4568812Z           "complete": false,
2026-06-08T23:22:37.4569616Z           "evidence": []
2026-06-08T23:22:37.4570367Z         },
2026-06-08T23:22:37.4571007Z         "impl": {
2026-06-08T23:22:37.4571732Z           "complete": true,
2026-06-08T23:22:37.4572518Z           "evidence": [
2026-06-08T23:22:37.4573251Z             {
2026-06-08T23:22:37.4574030Z               "path": "crates/spt-proto/src/event.rs",
2026-06-08T23:22:37.4575011Z               "line": 82
2026-06-08T23:22:37.4575757Z             },
2026-06-08T23:22:37.4576419Z             {
2026-06-08T23:22:37.4577274Z               "path": "crates/spt-proto/src/event.rs",
2026-06-08T23:22:37.4578252Z               "line": 96
2026-06-08T23:22:37.4579001Z             },
2026-06-08T23:22:37.4579673Z             {
2026-06-08T23:22:37.4580457Z               "path": "crates/spt-proto/src/event.rs",
2026-06-08T23:22:37.4581434Z               "line": 116
2026-06-08T23:22:37.4582192Z             },
2026-06-08T23:22:37.4582863Z             {
2026-06-08T23:22:37.4583637Z               "path": "crates/spt-proto/src/event.rs",
2026-06-08T23:22:37.4584624Z               "line": 131
2026-06-08T23:22:37.4585385Z             },
2026-06-08T23:22:37.4586054Z             {
2026-06-08T23:22:37.4586823Z               "path": "crates/spt-proto/src/event.rs",
2026-06-08T23:22:37.4587894Z               "line": 181
2026-06-08T23:22:37.4588645Z             }
2026-06-08T23:22:37.4589307Z           ]
2026-06-08T23:22:37.4589942Z         },
2026-06-08T23:22:37.4590584Z         "int": {
2026-06-08T23:22:37.4591303Z           "complete": false,
2026-06-08T23:22:37.4592122Z           "evidence": []
2026-06-08T23:22:37.4592867Z         },
2026-06-08T23:22:37.4593533Z         "unit": {
2026-06-08T23:22:37.4594249Z           "complete": true,
2026-06-08T23:22:37.4595174Z           "evidence": [
2026-06-08T23:22:37.4595912Z             {
2026-06-08T23:22:37.4596706Z               "path": "crates/spt-proto/src/event.rs",
2026-06-08T23:22:37.4597774Z               "line": 242
2026-06-08T23:22:37.4598540Z             },
2026-06-08T23:22:37.4599219Z             {
2026-06-08T23:22:37.4600002Z               "path": "crates/spt-proto/src/event.rs",
2026-06-08T23:22:37.4601183Z               "line": 252
2026-06-08T23:22:37.4601954Z             },
2026-06-08T23:22:37.4602616Z             {
2026-06-08T23:22:37.4603398Z               "path": "crates/spt-proto/src/event.rs",
2026-06-08T23:22:37.4604379Z               "line": 263
2026-06-08T23:22:37.4605133Z             },
2026-06-08T23:22:37.4605800Z             {
2026-06-08T23:22:37.4606586Z               "path": "crates/spt-proto/src/event.rs",
2026-06-08T23:22:37.4607648Z               "line": 274
2026-06-08T23:22:37.4608390Z             },
2026-06-08T23:22:37.4609057Z             {
2026-06-08T23:22:37.4609837Z               "path": "crates/spt-proto/src/event.rs",
2026-06-08T23:22:37.4610825Z               "line": 286
2026-06-08T23:22:37.4611568Z             },
2026-06-08T23:22:37.4612237Z             {
2026-06-08T23:22:37.4613014Z               "path": "crates/spt-proto/src/event.rs",
2026-06-08T23:22:37.4613988Z               "line": 299
2026-06-08T23:22:37.4614745Z             },
2026-06-08T23:22:37.4615408Z             {
2026-06-08T23:22:37.4616184Z               "path": "crates/spt-proto/src/event.rs",
2026-06-08T23:22:37.4617256Z               "line": 310
2026-06-08T23:22:37.4618007Z             },
2026-06-08T23:22:37.4618665Z             {
2026-06-08T23:22:37.4619439Z               "path": "crates/spt-proto/src/event.rs",
2026-06-08T23:22:37.4620412Z               "line": 327
2026-06-08T23:22:37.4621165Z             },
2026-06-08T23:22:37.4621841Z             {
2026-06-08T23:22:37.4622620Z               "path": "crates/spt-proto/src/event.rs",
2026-06-08T23:22:37.4623594Z               "line": 358
2026-06-08T23:22:37.4624342Z             }
2026-06-08T23:22:37.4625009Z           ]
2026-06-08T23:22:37.4625649Z         }
2026-06-08T23:22:37.4626282Z       }
2026-06-08T23:22:37.4626911Z     },
2026-06-08T23:22:37.4627754Z     {
2026-06-08T23:22:37.4628420Z       "id": "REQ-CLI-1",
2026-06-08T23:22:37.4632930Z       "title": "spt endpoint noun namespace: absorbs fork/suspend/wake/shutdown/rename/stop/digest + access (ported 1:1: allow|revoke|open|list, decision 21) + description (ex-resources blurb; bare=show, set=author); merged endpoint list [--local|--subnet <name>] grouped by subnet with SELF pinned, --detail adding the ex-resources yellow-pages blurb projection; bare spt endpoint = the list (M8 decisions 1-2, 25)",
2026-06-08T23:22:37.4637595Z       "requiredStages": [
2026-06-08T23:22:37.4638362Z         "impl",
2026-06-08T23:22:37.4639037Z         "unit"
2026-06-08T23:22:37.4639704Z       ],
2026-06-08T23:22:37.4640343Z       "stages": {
2026-06-08T23:22:37.4641036Z         "doc": {
2026-06-08T23:22:37.4641761Z           "complete": false,
2026-06-08T23:22:37.4642581Z           "evidence": []
2026-06-08T23:22:37.4643328Z         },
2026-06-08T23:22:37.4643979Z         "impl": {
2026-06-08T23:22:37.4644690Z           "complete": true,
2026-06-08T23:22:37.4645477Z           "evidence": [
2026-06-08T23:22:37.4646205Z             {
2026-06-08T23:22:37.4647031Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.4647966Z               "line": 193
2026-06-08T23:22:37.4648731Z             },
2026-06-08T23:22:37.4649391Z             {
2026-06-08T23:22:37.4650121Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.4651051Z               "line": 741
2026-06-08T23:22:37.4651797Z             },
2026-06-08T23:22:37.4652451Z             {
2026-06-08T23:22:37.4653188Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.4654135Z               "line": 1041
2026-06-08T23:22:37.4654883Z             },
2026-06-08T23:22:37.4655550Z             {
2026-06-08T23:22:37.4656291Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.4657442Z               "line": 1817
2026-06-08T23:22:37.4658206Z             }
2026-06-08T23:22:37.4658860Z           ]
2026-06-08T23:22:37.4659496Z         },
2026-06-08T23:22:37.4660143Z         "int": {
2026-06-08T23:22:37.4660853Z           "complete": false,
2026-06-08T23:22:37.4661650Z           "evidence": []
2026-06-08T23:22:37.4662490Z         },
2026-06-08T23:22:37.4663134Z         "unit": {
2026-06-08T23:22:37.4663849Z           "complete": true,
2026-06-08T23:22:37.4664640Z           "evidence": [
2026-06-08T23:22:37.4665358Z             {
2026-06-08T23:22:37.4666096Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.4667108Z               "line": 4706
2026-06-08T23:22:37.4667865Z             }
2026-06-08T23:22:37.4668518Z           ]
2026-06-08T23:22:37.4669147Z         }
2026-06-08T23:22:37.4669773Z       }
2026-06-08T23:22:37.4670404Z     },
2026-06-08T23:22:37.4671014Z     {
2026-06-08T23:22:37.4671658Z       "id": "REQ-CLI-2",
2026-06-08T23:22:37.4674845Z       "title": "spt daemon noun: run|stop|status (hidden daemon verb becomes daemon run; agent-endpoint shutdown keeps its name under endpoint); daemon status renders the pump heartbeat (last-tick recency) so a half-dead daemon is never rendered implied-healthy (M8 decisions 5, 23)",
2026-06-08T23:22:37.4678162Z       "requiredStages": [
2026-06-08T23:22:37.4678935Z         "impl",
2026-06-08T23:22:37.4679608Z         "unit"
2026-06-08T23:22:37.4680267Z       ],
2026-06-08T23:22:37.4680901Z       "stages": {
2026-06-08T23:22:37.4681578Z         "doc": {
2026-06-08T23:22:37.4682288Z           "complete": false,
2026-06-08T23:22:37.4683102Z           "evidence": []
2026-06-08T23:22:37.4683845Z         },
2026-06-08T23:22:37.4684479Z         "impl": {
2026-06-08T23:22:37.4685184Z           "complete": true,
2026-06-08T23:22:37.4685962Z           "evidence": [
2026-06-08T23:22:37.4686693Z             {
2026-06-08T23:22:37.4687565Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-08T23:22:37.4688541Z               "line": 271
2026-06-08T23:22:37.4689300Z             },
2026-06-08T23:22:37.4689962Z             {
2026-06-08T23:22:37.4690779Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-08T23:22:37.4691781Z               "line": 65
2026-06-08T23:22:37.4692524Z             },
2026-06-08T23:22:37.4693196Z             {
2026-06-08T23:22:37.4693989Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-08T23:22:37.4695091Z               "line": 239
2026-06-08T23:22:37.4695840Z             },
2026-06-08T23:22:37.4696508Z             {
2026-06-08T23:22:37.4697329Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.4698259Z               "line": 337
2026-06-08T23:22:37.4699010Z             },
2026-06-08T23:22:37.4699673Z             {
2026-06-08T23:22:37.4700409Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.4701324Z               "line": 783
2026-06-08T23:22:37.4702056Z             },
2026-06-08T23:22:37.4702718Z             {
2026-06-08T23:22:37.4703461Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.4704393Z               "line": 1225
2026-06-08T23:22:37.4705145Z             },
2026-06-08T23:22:37.4705809Z             {
2026-06-08T23:22:37.4706539Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.4707575Z               "line": 1240
2026-06-08T23:22:37.4708337Z             },
2026-06-08T23:22:37.4709015Z             {
2026-06-08T23:22:37.4709753Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.4710692Z               "line": 1262
2026-06-08T23:22:37.4711445Z             }
2026-06-08T23:22:37.4712098Z           ]
2026-06-08T23:22:37.4712739Z         },
2026-06-08T23:22:37.4713378Z         "int": {
2026-06-08T23:22:37.4714088Z           "complete": false,
2026-06-08T23:22:37.4714893Z           "evidence": []
2026-06-08T23:22:37.4715629Z         },
2026-06-08T23:22:37.4716273Z         "unit": {
2026-06-08T23:22:37.4717037Z           "complete": true,
2026-06-08T23:22:37.4717825Z           "evidence": [
2026-06-08T23:22:37.4718655Z             {
2026-06-08T23:22:37.4719441Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-08T23:22:37.4720432Z               "line": 309
2026-06-08T23:22:37.4721176Z             },
2026-06-08T23:22:37.4721834Z             {
2026-06-08T23:22:37.4722574Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.4723684Z               "line": 4844
2026-06-08T23:22:37.4724425Z             }
2026-06-08T23:22:37.4725079Z           ]
2026-06-08T23:22:37.4725704Z         }
2026-06-08T23:22:37.4726334Z       }
2026-06-08T23:22:37.4727044Z     },
2026-06-08T23:22:37.4727650Z     {
2026-06-08T23:22:37.4728295Z       "id": "REQ-CLI-3",
2026-06-08T23:22:37.4731531Z       "title": "Agent hot path stays flat across the M8 reorg: send/ring/ready/whoami/how-to unchanged; notify moves to subnet notify while notif stays top-level; breaking renames land clean with no deprecation shims (zero external CLI consumers pre-spt-claude-code) (M8 decisions 3-4, 9)",
2026-06-08T23:22:37.4734817Z       "requiredStages": [
2026-06-08T23:22:37.4735572Z         "impl",
2026-06-08T23:22:37.4736240Z         "unit"
2026-06-08T23:22:37.4736894Z       ],
2026-06-08T23:22:37.4737604Z       "stages": {
2026-06-08T23:22:37.4738281Z         "doc": {
2026-06-08T23:22:37.4745425Z           "complete": false,
2026-06-08T23:22:37.4746255Z           "evidence": []
2026-06-08T23:22:37.4747086Z         },
2026-06-08T23:22:37.4747720Z         "impl": {
2026-06-08T23:22:37.4748408Z           "complete": true,
2026-06-08T23:22:37.4749181Z           "evidence": [
2026-06-08T23:22:37.4749882Z             {
2026-06-08T23:22:37.4750592Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.4751503Z               "line": 735
2026-06-08T23:22:37.4752222Z             }
2026-06-08T23:22:37.4752861Z           ]
2026-06-08T23:22:37.4753476Z         },
2026-06-08T23:22:37.4754096Z         "int": {
2026-06-08T23:22:37.4754779Z           "complete": false,
2026-06-08T23:22:37.4755566Z           "evidence": []
2026-06-08T23:22:37.4756286Z         },
2026-06-08T23:22:37.4756895Z         "unit": {
2026-06-08T23:22:37.4757661Z           "complete": true,
2026-06-08T23:22:37.4758423Z           "evidence": [
2026-06-08T23:22:37.4759124Z             {
2026-06-08T23:22:37.4759840Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.4760771Z               "line": 4671
2026-06-08T23:22:37.4761501Z             }
2026-06-08T23:22:37.4762145Z           ]
2026-06-08T23:22:37.4762763Z         }
2026-06-08T23:22:37.4763368Z       }
2026-06-08T23:22:37.4763974Z     },
2026-06-08T23:22:37.4764579Z     {
2026-06-08T23:22:37.4765220Z       "id": "REQ-CONSENT-1",
2026-06-08T23:22:37.4769252Z       "title": "Consent grant store: capability x subject-agent x target-node rows, enforced at the target node, subnet-settable (replicates as security material near the trust store), revocable; gated-capability ids (remote-exec, instantiate-anywhere) reserved-but-refusing; v1 consumers are the shell spawn gates (CONTEXT Consent & security gates)",
2026-06-08T23:22:37.4773114Z       "requiredStages": [
2026-06-08T23:22:37.4773857Z         "impl",
2026-06-08T23:22:37.4774515Z         "unit"
2026-06-08T23:22:37.4775153Z       ],
2026-06-08T23:22:37.4775776Z       "stages": {
2026-06-08T23:22:37.4776434Z         "doc": {
2026-06-08T23:22:37.4777222Z           "complete": false,
2026-06-08T23:22:37.4778007Z           "evidence": []
2026-06-08T23:22:37.4778737Z         },
2026-06-08T23:22:37.4779362Z         "impl": {
2026-06-08T23:22:37.4780045Z           "complete": true,
2026-06-08T23:22:37.4780820Z           "evidence": [
2026-06-08T23:22:37.4781520Z             {
2026-06-08T23:22:37.4782282Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-08T23:22:37.4783241Z               "line": 27
2026-06-08T23:22:37.4783936Z             },
2026-06-08T23:22:37.4784571Z             {
2026-06-08T23:22:37.4785323Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-08T23:22:37.4786284Z               "line": 75
2026-06-08T23:22:37.4787247Z             },
2026-06-08T23:22:37.4787900Z             {
2026-06-08T23:22:37.4788661Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-08T23:22:37.4789612Z               "line": 98
2026-06-08T23:22:37.4790334Z             },
2026-06-08T23:22:37.4790974Z             {
2026-06-08T23:22:37.4791846Z               "path": "crates/spt-store/src/grants.rs",
2026-06-08T23:22:37.4792789Z               "line": 82
2026-06-08T23:22:37.4793501Z             },
2026-06-08T23:22:37.4794148Z             {
2026-06-08T23:22:37.4794902Z               "path": "crates/spt-store/src/grants.rs",
2026-06-08T23:22:37.4795851Z               "line": 109
2026-06-08T23:22:37.4796565Z             },
2026-06-08T23:22:37.4797301Z             {
2026-06-08T23:22:37.4798051Z               "path": "crates/spt-store/src/grants.rs",
2026-06-08T23:22:37.4799001Z               "line": 127
2026-06-08T23:22:37.4799716Z             },
2026-06-08T23:22:37.4800359Z             {
2026-06-08T23:22:37.4801127Z               "path": "crates/spt-store/src/grants.rs",
2026-06-08T23:22:37.4802067Z               "line": 142
2026-06-08T23:22:37.4802797Z             },
2026-06-08T23:22:37.4803432Z             {
2026-06-08T23:22:37.4804148Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.4805047Z               "line": 4407
2026-06-08T23:22:37.4805786Z             }
2026-06-08T23:22:37.4806416Z           ]
2026-06-08T23:22:37.4807083Z         },
2026-06-08T23:22:37.4807690Z         "int": {
2026-06-08T23:22:37.4808372Z           "complete": false,
2026-06-08T23:22:37.4809154Z           "evidence": []
2026-06-08T23:22:37.4809868Z         },
2026-06-08T23:22:37.4810485Z         "unit": {
2026-06-08T23:22:37.4811164Z           "complete": true,
2026-06-08T23:22:37.4811916Z           "evidence": [
2026-06-08T23:22:37.4812618Z             {
2026-06-08T23:22:37.4813387Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-08T23:22:37.4814346Z               "line": 334
2026-06-08T23:22:37.4815065Z             },
2026-06-08T23:22:37.4815703Z             {
2026-06-08T23:22:37.4816460Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-08T23:22:37.4817491Z               "line": 380
2026-06-08T23:22:37.4818213Z             },
2026-06-08T23:22:37.4818852Z             {
2026-06-08T23:22:37.4819604Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-08T23:22:37.4820560Z               "line": 391
2026-06-08T23:22:37.4821284Z             },
2026-06-08T23:22:37.4821913Z             {
2026-06-08T23:22:37.4822658Z               "path": "crates/spt-store/src/grants.rs",
2026-06-08T23:22:37.4823603Z               "line": 165
2026-06-08T23:22:37.4824318Z             },
2026-06-08T23:22:37.4824962Z             {
2026-06-08T23:22:37.4825715Z               "path": "crates/spt-store/src/grants.rs",
2026-06-08T23:22:37.4826682Z               "line": 184
2026-06-08T23:22:37.4827484Z             },
2026-06-08T23:22:37.4828128Z             {
2026-06-08T23:22:37.4828878Z               "path": "crates/spt-store/src/grants.rs",
2026-06-08T23:22:37.4829826Z               "line": 204
2026-06-08T23:22:37.4830546Z             },
2026-06-08T23:22:37.4831176Z             {
2026-06-08T23:22:37.4831896Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.4832793Z               "line": 5004
2026-06-08T23:22:37.4833517Z             }
2026-06-08T23:22:37.4834149Z           ]
2026-06-08T23:22:37.4834758Z         }
2026-06-08T23:22:37.4835365Z       }
2026-06-08T23:22:37.4835965Z     },
2026-06-08T23:22:37.4836565Z     {
2026-06-08T23:22:37.4837294Z       "id": "REQ-CONSENT-2",
2026-06-08T23:22:37.4840834Z       "title": "Interactive consent escalation: an ungated high-risk action routes a consent prompt to the user's most-recently-active session; allow-once / allow-always (writes a grant) / deny; pre-consent flags (can_shutdown, shell_wake_spawn_anywhere) author grants via manifest/settings (CONTEXT Consent & security gates)",
2026-06-08T23:22:37.4844399Z       "requiredStages": [
2026-06-08T23:22:37.4845247Z         "impl",
2026-06-08T23:22:37.4845901Z         "unit"
2026-06-08T23:22:37.4846559Z       ],
2026-06-08T23:22:37.4847264Z       "stages": {
2026-06-08T23:22:37.4847927Z         "doc": {
2026-06-08T23:22:37.4848638Z           "complete": false,
2026-06-08T23:22:37.4849409Z           "evidence": []
2026-06-08T23:22:37.4850246Z         },
2026-06-08T23:22:37.4850870Z         "impl": {
2026-06-08T23:22:37.4851556Z           "complete": true,
2026-06-08T23:22:37.4852316Z           "evidence": [
2026-06-08T23:22:37.4853027Z             {
2026-06-08T23:22:37.4853794Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-08T23:22:37.4854741Z               "line": 140
2026-06-08T23:22:37.4855484Z             },
2026-06-08T23:22:37.4856118Z             {
2026-06-08T23:22:37.4856877Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-08T23:22:37.4857911Z               "line": 165
2026-06-08T23:22:37.4858620Z             },
2026-06-08T23:22:37.4859263Z             {
2026-06-08T23:22:37.4860025Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-08T23:22:37.4860967Z               "line": 199
2026-06-08T23:22:37.4861688Z             },
2026-06-08T23:22:37.4862332Z             {
2026-06-08T23:22:37.4863087Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-08T23:22:37.4864054Z               "line": 241
2026-06-08T23:22:37.4864764Z             },
2026-06-08T23:22:37.4865410Z             {
2026-06-08T23:22:37.4866178Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-08T23:22:37.4867236Z               "line": 269
2026-06-08T23:22:37.4867983Z             },
2026-06-08T23:22:37.4868631Z             {
2026-06-08T23:22:37.4869396Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-08T23:22:37.4870345Z               "line": 300
2026-06-08T23:22:37.4871075Z             },
2026-06-08T23:22:37.4871714Z             {
2026-06-08T23:22:37.4872415Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.4873319Z               "line": 4272
2026-06-08T23:22:37.4874051Z             },
2026-06-08T23:22:37.4874695Z             {
2026-06-08T23:22:37.4875426Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.4876341Z               "line": 4330
2026-06-08T23:22:37.4877314Z             }
2026-06-08T23:22:37.4877958Z           ]
2026-06-08T23:22:37.4878745Z         },
2026-06-08T23:22:37.4879431Z         "int": {
2026-06-08T23:22:37.4880127Z           "complete": false,
2026-06-08T23:22:37.4880920Z           "evidence": []
2026-06-08T23:22:37.4881635Z         },
2026-06-08T23:22:37.4882274Z         "unit": {
2026-06-08T23:22:37.4882970Z           "complete": true,
2026-06-08T23:22:37.4883756Z           "evidence": [
2026-06-08T23:22:37.4884521Z             {
2026-06-08T23:22:37.4885433Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-08T23:22:37.4886404Z               "line": 419
2026-06-08T23:22:37.4887212Z             },
2026-06-08T23:22:37.4887889Z             {
2026-06-08T23:22:37.4888657Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-08T23:22:37.4889629Z               "line": 436
2026-06-08T23:22:37.4890353Z             },
2026-06-08T23:22:37.4891006Z             {
2026-06-08T23:22:37.4891773Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-08T23:22:37.4892730Z               "line": 472
2026-06-08T23:22:37.4893468Z             },
2026-06-08T23:22:37.4894122Z             {
2026-06-08T23:22:37.4894881Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-08T23:22:37.4895849Z               "line": 516
2026-06-08T23:22:37.4896580Z             },
2026-06-08T23:22:37.4897325Z             {
2026-06-08T23:22:37.4898044Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.4898959Z               "line": 5899
2026-06-08T23:22:37.4899688Z             },
2026-06-08T23:22:37.4900341Z             {
2026-06-08T23:22:37.4901057Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.4901968Z               "line": 5981
2026-06-08T23:22:37.4902699Z             }
2026-06-08T23:22:37.4903561Z           ]
2026-06-08T23:22:37.4904190Z         }
2026-06-08T23:22:37.4904804Z       }
2026-06-08T23:22:37.4905408Z     },
2026-06-08T23:22:37.4906014Z     {
2026-06-08T23:22:37.4906662Z       "id": "REQ-CONV-1",
2026-06-08T23:22:37.4911952Z       "title": "Peer address seeding, both cold starts: durable peer-addrs.json (identity dir) maps peer pubkey → last-known dialable address; the pump's resolver consults it FIRST with id-only discovery fallback on miss or dial failure (a stale addr never strands a peer); written by the pairing ceremony (both sides, from the live connection) and by the pump on successful connect; post-join first sync and post-restart resync converge in seconds, not ~1 min (M8 decisions 14, 20)",
2026-06-08T23:22:37.4917342Z       "requiredStages": [
2026-06-08T23:22:37.4918144Z         "impl",
2026-06-08T23:22:37.4918821Z         "unit"
2026-06-08T23:22:37.4919488Z       ],
2026-06-08T23:22:37.4920108Z       "stages": {
2026-06-08T23:22:37.4920789Z         "doc": {
2026-06-08T23:22:37.4921476Z           "complete": false,
2026-06-08T23:22:37.4922254Z           "evidence": []
2026-06-08T23:22:37.4922968Z         },
2026-06-08T23:22:37.4923600Z         "impl": {
2026-06-08T23:22:37.4924299Z           "complete": true,
2026-06-08T23:22:37.4925079Z           "evidence": [
2026-06-08T23:22:37.4925812Z             {
2026-06-08T23:22:37.4926594Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-08T23:22:37.4927621Z               "line": 696
2026-06-08T23:22:37.4928331Z             },
2026-06-08T23:22:37.4928972Z             {
2026-06-08T23:22:37.4929748Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-08T23:22:37.4930712Z               "line": 94
2026-06-08T23:22:37.4931425Z             },
2026-06-08T23:22:37.4932065Z             {
2026-06-08T23:22:37.4932828Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-08T23:22:37.4933801Z               "line": 345
2026-06-08T23:22:37.4934522Z             },
2026-06-08T23:22:37.4935198Z             {
2026-06-08T23:22:37.4935968Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-08T23:22:37.4936927Z               "line": 387
2026-06-08T23:22:37.4937741Z             },
2026-06-08T23:22:37.4938380Z             {
2026-06-08T23:22:37.4939157Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-08T23:22:37.4940129Z               "line": 472
2026-06-08T23:22:37.4940842Z             },
2026-06-08T23:22:37.4941486Z             {
2026-06-08T23:22:37.4942262Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-08T23:22:37.4943225Z               "line": 581
2026-06-08T23:22:37.4943947Z             },
2026-06-08T23:22:37.4944589Z             {
2026-06-08T23:22:37.4945359Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-08T23:22:37.4946321Z               "line": 607
2026-06-08T23:22:37.4947122Z             },
2026-06-08T23:22:37.4947773Z             {
2026-06-08T23:22:37.4948550Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-08T23:22:37.4949508Z               "line": 369
2026-06-08T23:22:37.4950225Z             },
2026-06-08T23:22:37.4950859Z             {
2026-06-08T23:22:37.4951628Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-08T23:22:37.4952594Z               "line": 19
2026-06-08T23:22:37.4953314Z             }
2026-06-08T23:22:37.4953957Z           ]
2026-06-08T23:22:37.4954569Z         },
2026-06-08T23:22:37.4955191Z         "int": {
2026-06-08T23:22:37.4955886Z           "complete": false,
2026-06-08T23:22:37.4956662Z           "evidence": []
2026-06-08T23:22:37.4957497Z         },
2026-06-08T23:22:37.4958114Z         "unit": {
2026-06-08T23:22:37.4958796Z           "complete": true,
2026-06-08T23:22:37.4959554Z           "evidence": [
2026-06-08T23:22:37.4960254Z             {
2026-06-08T23:22:37.4961029Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-08T23:22:37.4962000Z               "line": 905
2026-06-08T23:22:37.4962721Z             },
2026-06-08T23:22:37.4963499Z             {
2026-06-08T23:22:37.4964275Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-08T23:22:37.4965237Z               "line": 108
2026-06-08T23:22:37.4965958Z             },
2026-06-08T23:22:37.4966612Z             {
2026-06-08T23:22:37.4967485Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-08T23:22:37.4968627Z               "line": 134
2026-06-08T23:22:37.4969351Z             },
2026-06-08T23:22:37.4970128Z             {
2026-06-08T23:22:37.4970903Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-08T23:22:37.4971861Z               "line": 144
2026-06-08T23:22:37.4972575Z             }
2026-06-08T23:22:37.4973195Z           ]
2026-06-08T23:22:37.4973800Z         }
2026-06-08T23:22:37.4974392Z       }
2026-06-08T23:22:37.4974993Z     },
2026-06-08T23:22:37.4975584Z     {
2026-06-08T23:22:37.4976206Z       "id": "REQ-CONV-2",
2026-06-08T23:22:37.4980316Z       "title": "Event-driven advertisement: endpoint online/offline transitions (ready-listener start/stop, rest-state transition, perch death) trigger an immediate advertise_local + peer push as a WAKE of the existing pump loop (no second advertisement path — epoch lease + visibility gates ride unchanged); the cadence stays the steady-state floor (M8 decision 15)",
2026-06-08T23:22:37.4984270Z       "requiredStages": [
2026-06-08T23:22:37.4985029Z         "impl",
2026-06-08T23:22:37.4985690Z         "unit"
2026-06-08T23:22:37.4986334Z       ],
2026-06-08T23:22:37.4987027Z       "stages": {
2026-06-08T23:22:37.4987689Z         "doc": {
2026-06-08T23:22:37.4988372Z           "complete": false,
2026-06-08T23:22:37.4989145Z           "evidence": []
2026-06-08T23:22:37.4989856Z         },
2026-06-08T23:22:37.4990462Z         "impl": {
2026-06-08T23:22:37.4991139Z           "complete": true,
2026-06-08T23:22:37.4991886Z           "evidence": [
2026-06-08T23:22:37.4992585Z             {
2026-06-08T23:22:37.4993348Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-08T23:22:37.4994334Z               "line": 316
2026-06-08T23:22:37.4995049Z             },
2026-06-08T23:22:37.4995683Z             {
2026-06-08T23:22:37.4996461Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-08T23:22:37.4997540Z               "line": 290
2026-06-08T23:22:37.4998249Z             },
2026-06-08T23:22:37.4998903Z             {
2026-06-08T23:22:37.4999705Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.5000693Z               "line": 761
2026-06-08T23:22:37.5001413Z             },
2026-06-08T23:22:37.5002057Z             {
2026-06-08T23:22:37.5002850Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.5003842Z               "line": 772
2026-06-08T23:22:37.5004556Z             },
2026-06-08T23:22:37.5005195Z             {
2026-06-08T23:22:37.5005957Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-08T23:22:37.5006897Z               "line": 334
2026-06-08T23:22:37.5007694Z             },
2026-06-08T23:22:37.5008334Z             {
2026-06-08T23:22:37.5009035Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.5009936Z               "line": 1772
2026-06-08T23:22:37.5010672Z             },
2026-06-08T23:22:37.5011320Z             {
2026-06-08T23:22:37.5012025Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.5012935Z               "line": 1788
2026-06-08T23:22:37.5063930Z             },
2026-06-08T23:22:37.5064707Z             {
2026-06-08T23:22:37.5065441Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.5066354Z               "line": 1845
2026-06-08T23:22:37.5067184Z             }
2026-06-08T23:22:37.5067819Z           ]
2026-06-08T23:22:37.5068434Z         },
2026-06-08T23:22:37.5069056Z         "int": {
2026-06-08T23:22:37.5069735Z           "complete": false,
2026-06-08T23:22:37.5070506Z           "evidence": []
2026-06-08T23:22:37.5071229Z         },
2026-06-08T23:22:37.5071842Z         "unit": {
2026-06-08T23:22:37.5072524Z           "complete": true,
2026-06-08T23:22:37.5073570Z           "evidence": [
2026-06-08T23:22:37.5074258Z             {
2026-06-08T23:22:37.5075029Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-08T23:22:37.5076002Z               "line": 986
2026-06-08T23:22:37.5076708Z             }
2026-06-08T23:22:37.5077429Z           ]
2026-06-08T23:22:37.5078172Z         }
2026-06-08T23:22:37.5078778Z       }
2026-06-08T23:22:37.5079374Z     },
2026-06-08T23:22:37.5079970Z     {
2026-06-08T23:22:37.5080595Z       "id": "REQ-DAEMON-1",
2026-06-08T23:22:37.5081611Z       "title": "One per-machine spt-daemon owning all per-machine state",
2026-06-08T23:22:37.5082784Z       "requiredStages": [
2026-06-08T23:22:37.5083510Z         "impl",
2026-06-08T23:22:37.5084154Z         "unit",
2026-06-08T23:22:37.5084794Z         "int"
2026-06-08T23:22:37.5085423Z       ],
2026-06-08T23:22:37.5086029Z       "stages": {
2026-06-08T23:22:37.5086678Z         "doc": {
2026-06-08T23:22:37.5087432Z           "complete": false,
2026-06-08T23:22:37.5088203Z           "evidence": []
2026-06-08T23:22:37.5088911Z         },
2026-06-08T23:22:37.5089521Z         "impl": {
2026-06-08T23:22:37.5090196Z           "complete": true,
2026-06-08T23:22:37.5090930Z           "evidence": [
2026-06-08T23:22:37.5091611Z             {
2026-06-08T23:22:37.5092355Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-08T23:22:37.5093291Z               "line": 12
2026-06-08T23:22:37.5093988Z             },
2026-06-08T23:22:37.5094613Z             {
2026-06-08T23:22:37.5095368Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-08T23:22:37.5096317Z               "line": 16
2026-06-08T23:22:37.5097093Z             },
2026-06-08T23:22:37.5097717Z             {
2026-06-08T23:22:37.5098442Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-08T23:22:37.5099367Z               "line": 15
2026-06-08T23:22:37.5100078Z             },
2026-06-08T23:22:37.5100713Z             {
2026-06-08T23:22:37.5101424Z               "path": "crates/spt/src/api/live.rs",
2026-06-08T23:22:37.5102341Z               "line": 13
2026-06-08T23:22:37.5103053Z             }
2026-06-08T23:22:37.5103691Z           ]
2026-06-08T23:22:37.5104296Z         },
2026-06-08T23:22:37.5104912Z         "int": {
2026-06-08T23:22:37.5105591Z           "complete": true,
2026-06-08T23:22:37.5106347Z           "evidence": [
2026-06-08T23:22:37.5107130Z             {
2026-06-08T23:22:37.5107911Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-08T23:22:37.5108881Z               "line": 32
2026-06-08T23:22:37.5109581Z             }
2026-06-08T23:22:37.5110211Z           ]
2026-06-08T23:22:37.5110811Z         },
2026-06-08T23:22:37.5111417Z         "unit": {
2026-06-08T23:22:37.5112089Z           "complete": true,
2026-06-08T23:22:37.5112828Z           "evidence": [
2026-06-08T23:22:37.5113513Z             {
2026-06-08T23:22:37.5114270Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-08T23:22:37.5115200Z               "line": 285
2026-06-08T23:22:37.5115923Z             },
2026-06-08T23:22:37.5116588Z             {
2026-06-08T23:22:37.5117423Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-08T23:22:37.5118373Z               "line": 293
2026-06-08T23:22:37.5119080Z             },
2026-06-08T23:22:37.5119708Z             {
2026-06-08T23:22:37.5120461Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-08T23:22:37.5121404Z               "line": 309
2026-06-08T23:22:37.5122110Z             },
2026-06-08T23:22:37.5122744Z             {
2026-06-08T23:22:37.5123480Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-08T23:22:37.5124414Z               "line": 317
2026-06-08T23:22:37.5125120Z             },
2026-06-08T23:22:37.5125774Z             {
2026-06-08T23:22:37.5126545Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-08T23:22:37.5127969Z               "line": 565
2026-06-08T23:22:37.5128684Z             },
2026-06-08T23:22:37.5129306Z             {
2026-06-08T23:22:37.5130072Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-08T23:22:37.5131142Z               "line": 635
2026-06-08T23:22:37.5131852Z             },
2026-06-08T23:22:37.5132490Z             {
2026-06-08T23:22:37.5133229Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-08T23:22:37.5134148Z               "line": 104
2026-06-08T23:22:37.5134961Z             },
2026-06-08T23:22:37.5135609Z             {
2026-06-08T23:22:37.5136343Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-08T23:22:37.5137356Z               "line": 129
2026-06-08T23:22:37.5138065Z             }
2026-06-08T23:22:37.5138676Z           ]
2026-06-08T23:22:37.5139282Z         }
2026-06-08T23:22:37.5139885Z       }
2026-06-08T23:22:37.5140495Z     },
2026-06-08T23:22:37.5141091Z     {
2026-06-08T23:22:37.5141716Z       "id": "REQ-DAEMON-2",
2026-06-08T23:22:37.5142624Z       "title": "Broker/brain split for seamless self-update",
2026-06-08T23:22:37.5143627Z       "requiredStages": [
2026-06-08T23:22:37.5144370Z         "impl",
2026-06-08T23:22:37.5145010Z         "unit",
2026-06-08T23:22:37.5145650Z         "int"
2026-06-08T23:22:37.5146279Z       ],
2026-06-08T23:22:37.5146881Z       "stages": {
2026-06-08T23:22:37.5147632Z         "doc": {
2026-06-08T23:22:37.5148311Z           "complete": false,
2026-06-08T23:22:37.5149075Z           "evidence": []
2026-06-08T23:22:37.5149785Z         },
2026-06-08T23:22:37.5150394Z         "impl": {
2026-06-08T23:22:37.5151074Z           "complete": true,
2026-06-08T23:22:37.5151817Z           "evidence": [
2026-06-08T23:22:37.5152499Z             {
2026-06-08T23:22:37.5153238Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-08T23:22:37.5154173Z               "line": 23
2026-06-08T23:22:37.5154874Z             },
2026-06-08T23:22:37.5155513Z             {
2026-06-08T23:22:37.5156248Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-08T23:22:37.5157259Z               "line": 531
2026-06-08T23:22:37.5157974Z             },
2026-06-08T23:22:37.5158618Z             {
2026-06-08T23:22:37.5159350Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-08T23:22:37.5160270Z               "line": 684
2026-06-08T23:22:37.5160978Z             },
2026-06-08T23:22:37.5161615Z             {
2026-06-08T23:22:37.5162354Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-08T23:22:37.5163288Z               "line": 32
2026-06-08T23:22:37.5164003Z             },
2026-06-08T23:22:37.5164632Z             {
2026-06-08T23:22:37.5165362Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-08T23:22:37.5166305Z               "line": 191
2026-06-08T23:22:37.5167189Z             },
2026-06-08T23:22:37.5167833Z             {
2026-06-08T23:22:37.5168578Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-08T23:22:37.5169518Z               "line": 546
2026-06-08T23:22:37.5170234Z             },
2026-06-08T23:22:37.5170873Z             {
2026-06-08T23:22:37.5171622Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-08T23:22:37.5172572Z               "line": 788
2026-06-08T23:22:37.5173281Z             },
2026-06-08T23:22:37.5173577Z             {
2026-06-08T23:22:37.5173968Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-08T23:22:37.5174286Z               "line": 11
2026-06-08T23:22:37.5174577Z             },
2026-06-08T23:22:37.5174873Z             {
2026-06-08T23:22:37.5175284Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-08T23:22:37.5175588Z               "line": 146
2026-06-08T23:22:37.5175883Z             },
2026-06-08T23:22:37.5176165Z             {
2026-06-08T23:22:37.5176548Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-08T23:22:37.5176860Z               "line": 13
2026-06-08T23:22:37.5177240Z             },
2026-06-08T23:22:37.5177535Z             {
2026-06-08T23:22:37.5177955Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-08T23:22:37.5178265Z               "line": 27
2026-06-08T23:22:37.5178556Z             },
2026-06-08T23:22:37.5178848Z             {
2026-06-08T23:22:37.5179369Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-08T23:22:37.5179677Z               "line": 109
2026-06-08T23:22:37.5179968Z             },
2026-06-08T23:22:37.5180259Z             {
2026-06-08T23:22:37.5180674Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-08T23:22:37.5181076Z               "line": 447
2026-06-08T23:22:37.5181366Z             },
2026-06-08T23:22:37.5181657Z             {
2026-06-08T23:22:37.5182070Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-08T23:22:37.5182383Z               "line": 614
2026-06-08T23:22:37.5182674Z             },
2026-06-08T23:22:37.5182964Z             {
2026-06-08T23:22:37.5183380Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-08T23:22:37.5183690Z               "line": 715
2026-06-08T23:22:37.5183976Z             },
2026-06-08T23:22:37.5184267Z             {
2026-06-08T23:22:37.5184682Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-08T23:22:37.5185004Z               "line": 764
2026-06-08T23:22:37.5185309Z             },
2026-06-08T23:22:37.5185610Z             {
2026-06-08T23:22:37.5186029Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-08T23:22:37.5186339Z               "line": 812
2026-06-08T23:22:37.5186639Z             },
2026-06-08T23:22:37.5187040Z             {
2026-06-08T23:22:37.5187473Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-08T23:22:37.5187785Z               "line": 10
2026-06-08T23:22:37.5188081Z             }
2026-06-08T23:22:37.5188381Z           ]
2026-06-08T23:22:37.5188672Z         },
2026-06-08T23:22:37.5188973Z         "int": {
2026-06-08T23:22:37.5189297Z           "complete": true,
2026-06-08T23:22:37.5189607Z           "evidence": [
2026-06-08T23:22:37.5189906Z             {
2026-06-08T23:22:37.5190328Z               "path": "crates/spt-daemon/tests/broker.rs",
2026-06-08T23:22:37.5190643Z               "line": 17
2026-06-08T23:22:37.5190939Z             },
2026-06-08T23:22:37.5191238Z             {
2026-06-08T23:22:37.5191683Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-08T23:22:37.5191998Z               "line": 33
2026-06-08T23:22:37.5192388Z             },
2026-06-08T23:22:37.5192705Z             {
2026-06-08T23:22:37.5193186Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-08T23:22:37.5193529Z               "line": 19
2026-06-08T23:22:37.5193963Z             },
2026-06-08T23:22:37.5194292Z             {
2026-06-08T23:22:37.5194788Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-08T23:22:37.5195123Z               "line": 71
2026-06-08T23:22:37.5195474Z             },
2026-06-08T23:22:37.5195894Z             {
2026-06-08T23:22:37.5196375Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-08T23:22:37.5196738Z               "line": 91
2026-06-08T23:22:37.5197157Z             },
2026-06-08T23:22:37.5197519Z             {
2026-06-08T23:22:37.5198081Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-08T23:22:37.5198427Z               "line": 167
2026-06-08T23:22:37.5198775Z             },
2026-06-08T23:22:37.5199089Z             {
2026-06-08T23:22:37.5199566Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-08T23:22:37.5199987Z               "line": 209
2026-06-08T23:22:37.5200443Z             },
2026-06-08T23:22:37.5200802Z             {
2026-06-08T23:22:37.5201266Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-08T23:22:37.5201623Z               "line": 128
2026-06-08T23:22:37.5201985Z             }
2026-06-08T23:22:37.5202357Z           ]
2026-06-08T23:22:37.5202672Z         },
2026-06-08T23:22:37.5203033Z         "unit": {
2026-06-08T23:22:37.5203397Z           "complete": true,
2026-06-08T23:22:37.5203784Z           "evidence": [
2026-06-08T23:22:37.5204147Z             {
2026-06-08T23:22:37.5204581Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-08T23:22:37.5204948Z               "line": 62
2026-06-08T23:22:37.5205421Z             },
2026-06-08T23:22:37.5205778Z             {
2026-06-08T23:22:37.5206252Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-08T23:22:37.5206586Z               "line": 76
2026-06-08T23:22:37.5206935Z             },
2026-06-08T23:22:37.5207379Z             {
2026-06-08T23:22:37.5207985Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-08T23:22:37.5208361Z               "line": 88
2026-06-08T23:22:37.5208678Z             },
2026-06-08T23:22:37.5209045Z             {
2026-06-08T23:22:37.5209483Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-08T23:22:37.5209879Z               "line": 294
2026-06-08T23:22:37.5210251Z             },
2026-06-08T23:22:37.5210561Z             {
2026-06-08T23:22:37.5211017Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-08T23:22:37.5211343Z               "line": 583
2026-06-08T23:22:37.5211725Z             },
2026-06-08T23:22:37.5212054Z             {
2026-06-08T23:22:37.5212517Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-08T23:22:37.5212898Z               "line": 591
2026-06-08T23:22:37.5213207Z             },
2026-06-08T23:22:37.5213584Z             {
2026-06-08T23:22:37.5214015Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-08T23:22:37.5214397Z               "line": 608
2026-06-08T23:22:37.5214721Z             },
2026-06-08T23:22:37.5215074Z             {
2026-06-08T23:22:37.5215541Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-08T23:22:37.5215889Z               "line": 662
2026-06-08T23:22:37.5216253Z             },
2026-06-08T23:22:37.5216570Z             {
2026-06-08T23:22:37.5217146Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-08T23:22:37.5217582Z               "line": 883
2026-06-08T23:22:37.5217915Z             },
2026-06-08T23:22:37.5218268Z             {
2026-06-08T23:22:37.5218711Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-08T23:22:37.5219101Z               "line": 895
2026-06-08T23:22:37.5219418Z             },
2026-06-08T23:22:37.5219829Z             {
2026-06-08T23:22:37.5220319Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-08T23:22:37.5220653Z               "line": 110
2026-06-08T23:22:37.5221001Z             }
2026-06-08T23:22:37.5221301Z           ]
2026-06-08T23:22:37.5221711Z         }
2026-06-08T23:22:37.5222038Z       }
2026-06-08T23:22:37.5222386Z     },
2026-06-08T23:22:37.5222734Z     {
2026-06-08T23:22:37.5223072Z       "id": "REQ-DAEMON-3",
2026-06-08T23:22:37.5223721Z       "title": "Any api invocation auto-starts the daemon if absent",
2026-06-08T23:22:37.5224073Z       "requiredStages": [
2026-06-08T23:22:37.5224428Z         "impl",
2026-06-08T23:22:37.5224780Z         "unit",
2026-06-08T23:22:37.5225081Z         "int"
2026-06-08T23:22:37.5225491Z       ],
2026-06-08T23:22:37.5225815Z       "stages": {
2026-06-08T23:22:37.5226169Z         "doc": {
2026-06-08T23:22:37.5226517Z           "complete": false,
2026-06-08T23:22:37.5226880Z           "evidence": []
2026-06-08T23:22:37.5227426Z         },
2026-06-08T23:22:37.5227832Z         "impl": {
2026-06-08T23:22:37.5228213Z           "complete": true,
2026-06-08T23:22:37.5228551Z           "evidence": [
2026-06-08T23:22:37.5228899Z             {
2026-06-08T23:22:37.5229377Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-08T23:22:37.5229770Z               "line": 14
2026-06-08T23:22:37.5230127Z             },
2026-06-08T23:22:37.5230437Z             {
2026-06-08T23:22:37.5230917Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-08T23:22:37.5231280Z               "line": 11
2026-06-08T23:22:37.5231649Z             },
2026-06-08T23:22:37.5231964Z             {
2026-06-08T23:22:37.5232397Z               "path": "crates/spt/src/api/mod.rs",
2026-06-08T23:22:37.5232760Z               "line": 247
2026-06-08T23:22:37.5233112Z             },
2026-06-08T23:22:37.5233465Z             {
2026-06-08T23:22:37.5233843Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.5234381Z               "line": 1224
2026-06-08T23:22:37.5234718Z             },
2026-06-08T23:22:37.5235083Z             {
2026-06-08T23:22:37.5235627Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.5235970Z               "line": 2663
2026-06-08T23:22:37.5236327Z             },
2026-06-08T23:22:37.5236652Z             {
2026-06-08T23:22:37.5237325Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.5237800Z               "line": 2684
2026-06-08T23:22:37.5238115Z             }
2026-06-08T23:22:37.5238464Z           ]
2026-06-08T23:22:37.5238773Z         },
2026-06-08T23:22:37.5239150Z         "int": {
2026-06-08T23:22:37.5239512Z           "complete": true,
2026-06-08T23:22:37.5239894Z           "evidence": [
2026-06-08T23:22:37.5240241Z             {
2026-06-08T23:22:37.5240682Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-08T23:22:37.5241068Z               "line": 46
2026-06-08T23:22:37.5241411Z             },
2026-06-08T23:22:37.5241764Z             {
2026-06-08T23:22:37.5242256Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-08T23:22:37.5242594Z               "line": 435
2026-06-08T23:22:37.5242972Z             }
2026-06-08T23:22:37.5243315Z           ]
2026-06-08T23:22:37.5243672Z         },
2026-06-08T23:22:37.5243997Z         "unit": {
2026-06-08T23:22:37.5244389Z           "complete": true,
2026-06-08T23:22:37.5244785Z           "evidence": [
2026-06-08T23:22:37.5245118Z             {
2026-06-08T23:22:37.5245586Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-08T23:22:37.5245948Z               "line": 573
2026-06-08T23:22:37.5246316Z             },
2026-06-08T23:22:37.5246621Z             {
2026-06-08T23:22:37.5247193Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.5247594Z               "line": 6794
2026-06-08T23:22:37.5247914Z             }
2026-06-08T23:22:37.5248261Z           ]
2026-06-08T23:22:37.5248561Z         }
2026-06-08T23:22:37.5248976Z       }
2026-06-08T23:22:37.5249347Z     },
2026-06-08T23:22:37.5249700Z     {
2026-06-08T23:22:37.5250315Z       "id": "REQ-DAEMON-4",
2026-06-08T23:22:37.5250753Z       "title": "Honor every KNOWN-HAZARDS invariant",
2026-06-08T23:22:37.5251190Z       "requiredStages": [
2026-06-08T23:22:37.5251514Z         "impl",
2026-06-08T23:22:37.5251871Z         "unit",
2026-06-08T23:22:37.5252239Z         "int"
2026-06-08T23:22:37.5252538Z       ],
2026-06-08T23:22:37.5252953Z       "stages": {
2026-06-08T23:22:37.5253277Z         "doc": {
2026-06-08T23:22:37.5253655Z           "complete": false,
2026-06-08T23:22:37.5253995Z           "evidence": []
2026-06-08T23:22:37.5254343Z         },
2026-06-08T23:22:37.5254748Z         "impl": {
2026-06-08T23:22:37.5255091Z           "complete": true,
2026-06-08T23:22:37.5255458Z           "evidence": [
2026-06-08T23:22:37.5255791Z             {
2026-06-08T23:22:37.5256261Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-08T23:22:37.5256633Z               "line": 371
2026-06-08T23:22:37.5257071Z             },
2026-06-08T23:22:37.5257424Z             {
2026-06-08T23:22:37.5257888Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-08T23:22:37.5258240Z               "line": 436
2026-06-08T23:22:37.5258583Z             },
2026-06-08T23:22:37.5258945Z             {
2026-06-08T23:22:37.5259440Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-08T23:22:37.5259785Z               "line": 458
2026-06-08T23:22:37.5260118Z             }
2026-06-08T23:22:37.5260471Z           ]
2026-06-08T23:22:37.5260833Z         },
2026-06-08T23:22:37.5261153Z         "int": {
2026-06-08T23:22:37.5261545Z           "complete": true,
2026-06-08T23:22:37.5261897Z           "evidence": [
2026-06-08T23:22:37.5262250Z             {
2026-06-08T23:22:37.5262770Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-08T23:22:37.5263113Z               "line": 34
2026-06-08T23:22:37.5263466Z             }
2026-06-08T23:22:37.5263780Z           ]
2026-06-08T23:22:37.5264149Z         },
2026-06-08T23:22:37.5264655Z         "unit": {
2026-06-08T23:22:37.5265003Z           "complete": true,
2026-06-08T23:22:37.5265371Z           "evidence": [
2026-06-08T23:22:37.5265699Z             {
2026-06-08T23:22:37.5266211Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-08T23:22:37.5266621Z               "line": 428
2026-06-08T23:22:37.5267122Z             },
2026-06-08T23:22:37.5267465Z             {
2026-06-08T23:22:37.5267923Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-08T23:22:37.5268347Z               "line": 784
2026-06-08T23:22:37.5268676Z             },
2026-06-08T23:22:37.5269015Z             {
2026-06-08T23:22:37.5269491Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-08T23:22:37.5269825Z               "line": 854
2026-06-08T23:22:37.5270205Z             },
2026-06-08T23:22:37.5270529Z             {
2026-06-08T23:22:37.5271003Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-08T23:22:37.5271341Z               "line": 884
2026-06-08T23:22:37.5271708Z             },
2026-06-08T23:22:37.5272091Z             {
2026-06-08T23:22:37.5272558Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-08T23:22:37.5272925Z               "line": 917
2026-06-08T23:22:37.5273240Z             }
2026-06-08T23:22:37.5273603Z           ]
2026-06-08T23:22:37.5273978Z         }
2026-06-08T23:22:37.5274307Z       }
2026-06-08T23:22:37.5274653Z     },
2026-06-08T23:22:37.5274967Z     {
2026-06-08T23:22:37.5275357Z       "id": "REQ-DAEMON-5",
2026-06-08T23:22:37.5279690Z       "title": "Pump liveness: the peer pump writes a last-tick heartbeat consumed by daemon status / subnet status (decision 23 render legs in REQ-CLI-2/REQ-SUBNET-8); the daemon supervises the pump task — a panic is caught, logged loudly, and the pump restarts with capped backoff (≤5 min), so a 5.9-class death self-heals visibly instead of silently halving the daemon (M8 decision 23; field motivation: hfenduleam 2026-06-07 half-death)",
2026-06-08T23:22:37.5280155Z       "requiredStages": [
2026-06-08T23:22:37.5280527Z         "impl",
2026-06-08T23:22:37.5280846Z         "unit"
2026-06-08T23:22:37.5281214Z       ],
2026-06-08T23:22:37.5281592Z       "stages": {
2026-06-08T23:22:37.5281925Z         "doc": {
2026-06-08T23:22:37.5282296Z           "complete": false,
2026-06-08T23:22:37.5282646Z           "evidence": []
2026-06-08T23:22:37.5282994Z         },
2026-06-08T23:22:37.5283304Z         "impl": {
2026-06-08T23:22:37.5283728Z           "complete": true,
2026-06-08T23:22:37.5284548Z           "evidence": [
2026-06-08T23:22:37.5284881Z             {
2026-06-08T23:22:37.5285370Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-08T23:22:37.5285689Z               "line": 280
2026-06-08T23:22:37.5286095Z             },
2026-06-08T23:22:37.5286405Z             {
2026-06-08T23:22:37.5286910Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-08T23:22:37.5287388Z               "line": 676
2026-06-08T23:22:37.5287691Z             },
2026-06-08T23:22:37.5288104Z             {
2026-06-08T23:22:37.5288557Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-08T23:22:37.5288939Z               "line": 689
2026-06-08T23:22:37.5289259Z             },
2026-06-08T23:22:37.5289597Z             {
2026-06-08T23:22:37.5290126Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-08T23:22:37.5290472Z               "line": 707
2026-06-08T23:22:37.5290840Z             },
2026-06-08T23:22:37.5291155Z             {
2026-06-08T23:22:37.5291622Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-08T23:22:37.5292036Z               "line": 748
2026-06-08T23:22:37.5292375Z             }
2026-06-08T23:22:37.5292729Z           ]
2026-06-08T23:22:37.5293046Z         },
2026-06-08T23:22:37.5293387Z         "int": {
2026-06-08T23:22:37.5293774Z           "complete": false,
2026-06-08T23:22:37.5294179Z           "evidence": []
2026-06-08T23:22:37.5294522Z         },
2026-06-08T23:22:37.5294846Z         "unit": {
2026-06-08T23:22:37.5295330Z           "complete": true,
2026-06-08T23:22:37.5295703Z           "evidence": [
2026-06-08T23:22:37.5296083Z             {
2026-06-08T23:22:37.5296531Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-08T23:22:37.5296909Z               "line": 831
2026-06-08T23:22:37.5297342Z             },
2026-06-08T23:22:37.5297829Z             {
2026-06-08T23:22:37.5298325Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-08T23:22:37.5298664Z               "line": 855
2026-06-08T23:22:37.5299007Z             },
2026-06-08T23:22:37.5299355Z             {
2026-06-08T23:22:37.5299847Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-08T23:22:37.5300228Z               "line": 881
2026-06-08T23:22:37.5300542Z             }
2026-06-08T23:22:37.5300890Z           ]
2026-06-08T23:22:37.5301214Z         }
2026-06-08T23:22:37.5301590Z       }
2026-06-08T23:22:37.5301952Z     },
2026-06-08T23:22:37.5302262Z     {
2026-06-08T23:22:37.5302660Z       "id": "REQ-DOCS-1",
2026-06-08T23:22:37.5303361Z       "title": "Dual-audience docs (human + AI dev-agent), markdown once / two depths",
2026-06-08T23:22:37.5303776Z       "requiredStages": [
2026-06-08T23:22:37.5304105Z         "doc",
2026-06-08T23:22:37.5304461Z         "impl"
2026-06-08T23:22:37.5304825Z       ],
2026-06-08T23:22:37.5305149Z       "stages": {
2026-06-08T23:22:37.5305531Z         "doc": {
2026-06-08T23:22:37.5305885Z           "complete": true,
2026-06-08T23:22:37.5306249Z           "evidence": [
2026-06-08T23:22:37.5306600Z             {
2026-06-08T23:22:37.5307076Z               "path": "docs-site/src/index.md",
2026-06-08T23:22:37.5307474Z               "line": 50
2026-06-08T23:22:37.5307808Z             }
2026-06-08T23:22:37.5308151Z           ]
2026-06-08T23:22:37.5308480Z         },
2026-06-08T23:22:37.5308834Z         "impl": {
2026-06-08T23:22:37.5309243Z           "complete": true,
2026-06-08T23:22:37.5309595Z           "evidence": [
2026-06-08T23:22:37.5309958Z             {
2026-06-08T23:22:37.5310407Z               "path": ".github/workflows/docs-publish.yml",
2026-06-08T23:22:37.5310783Z               "line": 12
2026-06-08T23:22:37.5316247Z             },
2026-06-08T23:22:37.5316585Z             {
2026-06-08T23:22:37.5317113Z               "path": "crates/xtask/src/main.rs",
2026-06-08T23:22:37.5317451Z               "line": 14
2026-06-08T23:22:37.5317766Z             }
2026-06-08T23:22:37.5318053Z           ]
2026-06-08T23:22:37.5318329Z         },
2026-06-08T23:22:37.5318614Z         "int": {
2026-06-08T23:22:37.5318939Z           "complete": false,
2026-06-08T23:22:37.5319247Z           "evidence": []
2026-06-08T23:22:37.5319545Z         },
2026-06-08T23:22:37.5319832Z         "unit": {
2026-06-08T23:22:37.5320146Z           "complete": false,
2026-06-08T23:22:37.5320451Z           "evidence": []
2026-06-08T23:22:37.5320733Z         }
2026-06-08T23:22:37.5321029Z       }
2026-06-08T23:22:37.5321315Z     },
2026-06-08T23:22:37.5321602Z     {
2026-06-08T23:22:37.5321907Z       "id": "REQ-DOCS-2",
2026-06-08T23:22:37.5322477Z       "title": "Sub-10-minute runnable killer quickstart per audience",
2026-06-08T23:22:37.5322801Z       "requiredStages": [
2026-06-08T23:22:37.5323097Z         "doc",
2026-06-08T23:22:37.5323392Z         "int"
2026-06-08T23:22:37.5323674Z       ],
2026-06-08T23:22:37.5323974Z       "stages": {
2026-06-08T23:22:37.5324279Z         "doc": {
2026-06-08T23:22:37.5324598Z           "complete": true,
2026-06-08T23:22:37.5324896Z           "evidence": [
2026-06-08T23:22:37.5325183Z             {
2026-06-08T23:22:37.5325615Z               "path": "docs-site/src/quickstart/adapter.md",
2026-06-08T23:22:37.5325921Z               "line": 3
2026-06-08T23:22:37.5326212Z             },
2026-06-08T23:22:37.5326498Z             {
2026-06-08T23:22:37.5327038Z               "path": "docs-site/src/quickstart/messaging.md",
2026-06-08T23:22:37.5327336Z               "line": 3
2026-06-08T23:22:37.5327625Z             }
2026-06-08T23:22:37.5327911Z           ]
2026-06-08T23:22:37.5328192Z         },
2026-06-08T23:22:37.5328637Z         "impl": {
2026-06-08T23:22:37.5328951Z           "complete": false,
2026-06-08T23:22:37.5329266Z           "evidence": []
2026-06-08T23:22:37.5329548Z         },
2026-06-08T23:22:37.5329831Z         "int": {
2026-06-08T23:22:37.5330139Z           "complete": true,
2026-06-08T23:22:37.5330435Z           "evidence": [
2026-06-08T23:22:37.5330812Z             {
2026-06-08T23:22:37.5331231Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-08T23:22:37.5331528Z               "line": 14
2026-06-08T23:22:37.5331857Z             }
2026-06-08T23:22:37.5332144Z           ]
2026-06-08T23:22:37.5332429Z         },
2026-06-08T23:22:37.5332723Z         "unit": {
2026-06-08T23:22:37.5333042Z           "complete": false,
2026-06-08T23:22:37.5333347Z           "evidence": []
2026-06-08T23:22:37.5333638Z         }
2026-06-08T23:22:37.5333919Z       }
2026-06-08T23:22:37.5334201Z     },
2026-06-08T23:22:37.5334477Z     {
2026-06-08T23:22:37.5334792Z       "id": "REQ-DOCS-3",
2026-06-08T23:22:37.5335358Z       "title": "Diátaxis structure; one canonical way to do X",
2026-06-08T23:22:37.5335681Z       "requiredStages": [
2026-06-08T23:22:37.5335967Z         "doc"
2026-06-08T23:22:37.5336248Z       ],
2026-06-08T23:22:37.5336539Z       "stages": {
2026-06-08T23:22:37.5336824Z         "doc": {
2026-06-08T23:22:37.5337241Z           "complete": true,
2026-06-08T23:22:37.5337541Z           "evidence": [
2026-06-08T23:22:37.5337825Z             {
2026-06-08T23:22:37.5338190Z               "path": "docs-site/src/index.md",
2026-06-08T23:22:37.5338481Z               "line": 42
2026-06-08T23:22:37.5338767Z             }
2026-06-08T23:22:37.5339052Z           ]
2026-06-08T23:22:37.5339349Z         },
2026-06-08T23:22:37.5339644Z         "impl": {
2026-06-08T23:22:37.5339959Z           "complete": false,
2026-06-08T23:22:37.5340277Z           "evidence": []
2026-06-08T23:22:37.5340562Z         },
2026-06-08T23:22:37.5340863Z         "int": {
2026-06-08T23:22:37.5341177Z           "complete": false,
2026-06-08T23:22:37.5341515Z           "evidence": []
2026-06-08T23:22:37.5341806Z         },
2026-06-08T23:22:37.5342098Z         "unit": {
2026-06-08T23:22:37.5342412Z           "complete": false,
2026-06-08T23:22:37.5342722Z           "evidence": []
2026-06-08T23:22:37.5343018Z         }
2026-06-08T23:22:37.5343311Z       }
2026-06-08T23:22:37.5343621Z     },
2026-06-08T23:22:37.5343922Z     {
2026-06-08T23:22:37.5344237Z       "id": "REQ-DOCS-4",
2026-06-08T23:22:37.5344905Z       "title": "Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)",
2026-06-08T23:22:37.5345229Z       "requiredStages": [
2026-06-08T23:22:37.5345530Z         "doc",
2026-06-08T23:22:37.5345818Z         "impl",
2026-06-08T23:22:37.5346111Z         "unit"
2026-06-08T23:22:37.5346407Z       ],
2026-06-08T23:22:37.5346698Z       "stages": {
2026-06-08T23:22:37.5347075Z         "doc": {
2026-06-08T23:22:37.5347399Z           "complete": true,
2026-06-08T23:22:37.5347728Z           "evidence": [
2026-06-08T23:22:37.5348024Z             {
2026-06-08T23:22:37.5348395Z               "path": "docs/DOCS-STRATEGY.md",
2026-06-08T23:22:37.5348697Z               "line": 35
2026-06-08T23:22:37.5348983Z             }
2026-06-08T23:22:37.5349269Z           ]
2026-06-08T23:22:37.5349551Z         },
2026-06-08T23:22:37.5349842Z         "impl": {
2026-06-08T23:22:37.5350157Z           "complete": true,
2026-06-08T23:22:37.5350462Z           "evidence": [
2026-06-08T23:22:37.5350749Z             {
2026-06-08T23:22:37.5351155Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-08T23:22:37.5351469Z               "line": 522
2026-06-08T23:22:37.5351766Z             },
2026-06-08T23:22:37.5352051Z             {
2026-06-08T23:22:37.5352428Z               "path": "crates/xtask/src/main.rs",
2026-06-08T23:22:37.5352732Z               "line": 15
2026-06-08T23:22:37.5353019Z             }
2026-06-08T23:22:37.5353306Z           ]
2026-06-08T23:22:37.5353593Z         },
2026-06-08T23:22:37.5353876Z         "int": {
2026-06-08T23:22:37.5354321Z           "complete": false,
2026-06-08T23:22:37.5354621Z           "evidence": []
2026-06-08T23:22:37.5354921Z         },
2026-06-08T23:22:37.5355213Z         "unit": {
2026-06-08T23:22:37.5355518Z           "complete": true,
2026-06-08T23:22:37.5355823Z           "evidence": [
2026-06-08T23:22:37.5356104Z             {
2026-06-08T23:22:37.5356658Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-08T23:22:37.5357130Z               "line": 978
2026-06-08T23:22:37.5357427Z             }
2026-06-08T23:22:37.5357712Z           ]
2026-06-08T23:22:37.5357998Z         }
2026-06-08T23:22:37.5358279Z       }
2026-06-08T23:22:37.5358555Z     },
2026-06-08T23:22:37.5358841Z     {
2026-06-08T23:22:37.5359143Z       "id": "REQ-DOCS-5",
2026-06-08T23:22:37.5359811Z       "title": "Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked",
2026-06-08T23:22:37.5360140Z       "requiredStages": [
2026-06-08T23:22:37.5360426Z         "impl",
2026-06-08T23:22:37.5360712Z         "int"
2026-06-08T23:22:37.5361008Z       ],
2026-06-08T23:22:37.5361304Z       "stages": {
2026-06-08T23:22:37.5361588Z         "doc": {
2026-06-08T23:22:37.5361906Z           "complete": false,
2026-06-08T23:22:37.5362207Z           "evidence": []
2026-06-08T23:22:37.5362487Z         },
2026-06-08T23:22:37.5362783Z         "impl": {
2026-06-08T23:22:37.5363112Z           "complete": true,
2026-06-08T23:22:37.5363418Z           "evidence": [
2026-06-08T23:22:37.5363703Z             {
2026-06-08T23:22:37.5364129Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-08T23:22:37.5364437Z               "line": 523
2026-06-08T23:22:37.5364718Z             },
2026-06-08T23:22:37.5365009Z             {
2026-06-08T23:22:37.5365372Z               "path": "crates/xtask/src/main.rs",
2026-06-08T23:22:37.5365681Z               "line": 113
2026-06-08T23:22:37.5365967Z             }
2026-06-08T23:22:37.5366258Z           ]
2026-06-08T23:22:37.5366549Z         },
2026-06-08T23:22:37.5366839Z         "int": {
2026-06-08T23:22:37.5367241Z           "complete": true,
2026-06-08T23:22:37.5367546Z           "evidence": [
2026-06-08T23:22:37.5367832Z             {
2026-06-08T23:22:37.5368200Z               "path": ".github/workflows/ci.yml",
2026-06-08T23:22:37.5368510Z               "line": 86
2026-06-08T23:22:37.5368801Z             },
2026-06-08T23:22:37.5369092Z             {
2026-06-08T23:22:37.5369520Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-08T23:22:37.5369827Z               "line": 1015
2026-06-08T23:22:37.5370113Z             }
2026-06-08T23:22:37.5370409Z           ]
2026-06-08T23:22:37.5370695Z         },
2026-06-08T23:22:37.5370991Z         "unit": {
2026-06-08T23:22:37.5371311Z           "complete": false,
2026-06-08T23:22:37.5371625Z           "evidence": []
2026-06-08T23:22:37.5371915Z         }
2026-06-08T23:22:37.5372200Z       }
2026-06-08T23:22:37.5372476Z     },
2026-06-08T23:22:37.5372777Z     {
2026-06-08T23:22:37.5373092Z       "id": "REQ-DOCS-6",
2026-06-08T23:22:37.5374216Z       "title": "spt how-to <topic>: in-binary task-oriented agent instructions (anti-drift; quickstart prompts point agents at it)",
2026-06-08T23:22:37.5374549Z       "requiredStages": [
2026-06-08T23:22:37.5374840Z         "impl",
2026-06-08T23:22:37.5375135Z         "unit",
2026-06-08T23:22:37.5375417Z         "int"
2026-06-08T23:22:37.5375693Z       ],
2026-06-08T23:22:37.5375975Z       "stages": {
2026-06-08T23:22:37.5376256Z         "doc": {
2026-06-08T23:22:37.5376581Z           "complete": true,
2026-06-08T23:22:37.5376876Z           "evidence": [
2026-06-08T23:22:37.5377240Z             {
2026-06-08T23:22:37.5377683Z               "path": "docs-site/src/quickstart/messaging.md",
2026-06-08T23:22:37.5377984Z               "line": 4
2026-06-08T23:22:37.5378275Z             }
2026-06-08T23:22:37.5378570Z           ]
2026-06-08T23:22:37.5378847Z         },
2026-06-08T23:22:37.5379143Z         "impl": {
2026-06-08T23:22:37.5379458Z           "complete": true,
2026-06-08T23:22:37.5379763Z           "evidence": [
2026-06-08T23:22:37.5380180Z             {
2026-06-08T23:22:37.5380551Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.5380865Z               "line": 3358
2026-06-08T23:22:37.5381156Z             }
2026-06-08T23:22:37.5381452Z           ]
2026-06-08T23:22:37.5381738Z         },
2026-06-08T23:22:37.5382124Z         "int": {
2026-06-08T23:22:37.5382443Z           "complete": true,
2026-06-08T23:22:37.5382747Z           "evidence": [
2026-06-08T23:22:37.5383022Z             {
2026-06-08T23:22:37.5383469Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-08T23:22:37.5383766Z               "line": 34
2026-06-08T23:22:37.5384046Z             }
2026-06-08T23:22:37.5384333Z           ]
2026-06-08T23:22:37.5384615Z         },
2026-06-08T23:22:37.5384935Z         "unit": {
2026-06-08T23:22:37.5385254Z           "complete": true,
2026-06-08T23:22:37.5385557Z           "evidence": [
2026-06-08T23:22:37.5385839Z             {
2026-06-08T23:22:37.5386197Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.5386517Z               "line": 6821
2026-06-08T23:22:37.5386807Z             }
2026-06-08T23:22:37.5387170Z           ]
2026-06-08T23:22:37.5387461Z         }
2026-06-08T23:22:37.5387742Z       }
2026-06-08T23:22:37.5388021Z     },
2026-06-08T23:22:37.5388295Z     {
2026-06-08T23:22:37.5388610Z       "id": "REQ-EP-1",
2026-06-08T23:22:37.5389049Z       "title": "Day-one endpoint types; open type system",
2026-06-08T23:22:37.5389369Z       "requiredStages": [
2026-06-08T23:22:37.5389655Z         "impl",
2026-06-08T23:22:37.5389945Z         "unit"
2026-06-08T23:22:37.5390227Z       ],
2026-06-08T23:22:37.5390521Z       "stages": {
2026-06-08T23:22:37.5390815Z         "doc": {
2026-06-08T23:22:37.5391134Z           "complete": false,
2026-06-08T23:22:37.5391449Z           "evidence": []
2026-06-08T23:22:37.5391735Z         },
2026-06-08T23:22:37.5392026Z         "impl": {
2026-06-08T23:22:37.5392341Z           "complete": true,
2026-06-08T23:22:37.5392642Z           "evidence": [
2026-06-08T23:22:37.5392938Z             {
2026-06-08T23:22:37.5393358Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-08T23:22:37.5393659Z               "line": 77
2026-06-08T23:22:37.5393954Z             },
2026-06-08T23:22:37.5394240Z             {
2026-06-08T23:22:37.5394650Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-08T23:22:37.5394964Z               "line": 94
2026-06-08T23:22:37.5395246Z             }
2026-06-08T23:22:37.5395528Z           ]
2026-06-08T23:22:37.5395819Z         },
2026-06-08T23:22:37.5396107Z         "int": {
2026-06-08T23:22:37.5396427Z           "complete": false,
2026-06-08T23:22:37.5396728Z           "evidence": []
2026-06-08T23:22:37.5397096Z         },
2026-06-08T23:22:37.5397381Z         "unit": {
2026-06-08T23:22:37.5397696Z           "complete": true,
2026-06-08T23:22:37.5398011Z           "evidence": [
2026-06-08T23:22:37.5398292Z             {
2026-06-08T23:22:37.5398710Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-08T23:22:37.5399019Z               "line": 161
2026-06-08T23:22:37.5399314Z             },
2026-06-08T23:22:37.5399604Z             {
2026-06-08T23:22:37.5400010Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-08T23:22:37.5400306Z               "line": 178
2026-06-08T23:22:37.5400583Z             }
2026-06-08T23:22:37.5400869Z           ]
2026-06-08T23:22:37.5401157Z         }
2026-06-08T23:22:37.5401446Z       }
2026-06-08T23:22:37.5401727Z     },
2026-06-08T23:22:37.5402004Z     {
2026-06-08T23:22:37.5402309Z       "id": "REQ-EP-2",
2026-06-08T23:22:37.5402863Z       "title": "Agent endpoints vs Shells distinction in the type model",
2026-06-08T23:22:37.5403187Z       "requiredStages": [
2026-06-08T23:22:37.5403479Z         "impl",
2026-06-08T23:22:37.5403772Z         "unit"
2026-06-08T23:22:37.5404051Z       ],
2026-06-08T23:22:37.5404356Z       "stages": {
2026-06-08T23:22:37.5404646Z         "doc": {
2026-06-08T23:22:37.5404961Z           "complete": false,
2026-06-08T23:22:37.5405383Z           "evidence": []
2026-06-08T23:22:37.5405668Z         },
2026-06-08T23:22:37.5405963Z         "impl": {
2026-06-08T23:22:37.5406283Z           "complete": true,
2026-06-08T23:22:37.5406587Z           "evidence": [
2026-06-08T23:22:37.5406872Z             {
2026-06-08T23:22:37.5407374Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-08T23:22:37.5407770Z               "line": 114
2026-06-08T23:22:37.5408055Z             },
2026-06-08T23:22:37.5408333Z             {
2026-06-08T23:22:37.5408741Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-08T23:22:37.5409042Z               "line": 131
2026-06-08T23:22:37.5409331Z             },
2026-06-08T23:22:37.5409607Z             {
2026-06-08T23:22:37.5410017Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-08T23:22:37.5410317Z               "line": 138
2026-06-08T23:22:37.5410598Z             }
2026-06-08T23:22:37.5410885Z           ]
2026-06-08T23:22:37.5411167Z         },
2026-06-08T23:22:37.5411467Z         "int": {
2026-06-08T23:22:37.5411785Z           "complete": false,
2026-06-08T23:22:37.5412097Z           "evidence": []
2026-06-08T23:22:37.5412388Z         },
2026-06-08T23:22:37.5412673Z         "unit": {
2026-06-08T23:22:37.5412988Z           "complete": true,
2026-06-08T23:22:37.5413284Z           "evidence": [
2026-06-08T23:22:37.5413589Z             {
2026-06-08T23:22:37.5413996Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-08T23:22:37.5414303Z               "line": 190
2026-06-08T23:22:37.5414587Z             },
2026-06-08T23:22:37.5414878Z             {
2026-06-08T23:22:37.5415288Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-08T23:22:37.5415598Z               "line": 208
2026-06-08T23:22:37.5415884Z             },
2026-06-08T23:22:37.5416166Z             {
2026-06-08T23:22:37.5416582Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-08T23:22:37.5416882Z               "line": 221
2026-06-08T23:22:37.5417252Z             }
2026-06-08T23:22:37.5417548Z           ]
2026-06-08T23:22:37.5417829Z         }
2026-06-08T23:22:37.5418114Z       }
2026-06-08T23:22:37.5418391Z     },
2026-06-08T23:22:37.5418678Z     {
2026-06-08T23:22:37.5418982Z       "id": "REQ-EP-3",
2026-06-08T23:22:37.5419621Z       "title": "Messaging payloads carry typed operation commands + file blobs",
2026-06-08T23:22:37.5419948Z       "requiredStages": [
2026-06-08T23:22:37.5420239Z         "impl",
2026-06-08T23:22:37.5420534Z         "unit"
2026-06-08T23:22:37.5420811Z       ],
2026-06-08T23:22:37.5421112Z       "stages": {
2026-06-08T23:22:37.5421403Z         "doc": {
2026-06-08T23:22:37.5421722Z           "complete": false,
2026-06-08T23:22:37.5422023Z           "evidence": []
2026-06-08T23:22:37.5422301Z         },
2026-06-08T23:22:37.5422590Z         "impl": {
2026-06-08T23:22:37.5422895Z           "complete": true,
2026-06-08T23:22:37.5423195Z           "evidence": [
2026-06-08T23:22:37.5423477Z             {
2026-06-08T23:22:37.5423887Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-08T23:22:37.5424173Z               "line": 31
2026-06-08T23:22:37.5424464Z             },
2026-06-08T23:22:37.5424750Z             {
2026-06-08T23:22:37.5425156Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-08T23:22:37.5425466Z               "line": 49
2026-06-08T23:22:37.5425762Z             }
2026-06-08T23:22:37.5426044Z           ]
2026-06-08T23:22:37.5426326Z         },
2026-06-08T23:22:37.5426616Z         "int": {
2026-06-08T23:22:37.5426936Z           "complete": false,
2026-06-08T23:22:37.5427302Z           "evidence": []
2026-06-08T23:22:37.5427602Z         },
2026-06-08T23:22:37.5427889Z         "unit": {
2026-06-08T23:22:37.5428213Z           "complete": true,
2026-06-08T23:22:37.5428509Z           "evidence": [
2026-06-08T23:22:37.5428795Z             {
2026-06-08T23:22:37.5429200Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-08T23:22:37.5429505Z               "line": 156
2026-06-08T23:22:37.5429792Z             },
2026-06-08T23:22:37.5430186Z             {
2026-06-08T23:22:37.5430607Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-08T23:22:37.5430907Z               "line": 164
2026-06-08T23:22:37.5431189Z             },
2026-06-08T23:22:37.5431476Z             {
2026-06-08T23:22:37.5431881Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-08T23:22:37.5432287Z               "line": 177
2026-06-08T23:22:37.5432579Z             },
2026-06-08T23:22:37.5432866Z             {
2026-06-08T23:22:37.5433285Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-08T23:22:37.5433600Z               "line": 200
2026-06-08T23:22:37.5433891Z             },
2026-06-08T23:22:37.5434172Z             {
2026-06-08T23:22:37.5434582Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-08T23:22:37.5434888Z               "line": 216
2026-06-08T23:22:37.5435179Z             },
2026-06-08T23:22:37.5435467Z             {
2026-06-08T23:22:37.5435856Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-08T23:22:37.5436171Z               "line": 233
2026-06-08T23:22:37.5436458Z             }
2026-06-08T23:22:37.5436743Z           ]
2026-06-08T23:22:37.5437486Z         }
2026-06-08T23:22:37.5437843Z       }
2026-06-08T23:22:37.5438130Z     },
2026-06-08T23:22:37.5438411Z     {
2026-06-08T23:22:37.5438745Z       "id": "REQ-EP-4",
2026-06-08T23:22:37.5439249Z       "title": "PresenceChannel broker endpoint (seam day-one)",
2026-06-08T23:22:37.5439569Z       "requiredStages": [
2026-06-08T23:22:37.5439855Z         "impl",
2026-06-08T23:22:37.5440141Z         "unit"
2026-06-08T23:22:37.5440432Z       ],
2026-06-08T23:22:37.5440717Z       "stages": {
2026-06-08T23:22:37.5440998Z         "doc": {
2026-06-08T23:22:37.5441312Z           "complete": false,
2026-06-08T23:22:37.5441612Z           "evidence": []
2026-06-08T23:22:37.5441893Z         },
2026-06-08T23:22:37.5442180Z         "impl": {
2026-06-08T23:22:37.5442489Z           "complete": true,
2026-06-08T23:22:37.5442794Z           "evidence": [
2026-06-08T23:22:37.5443090Z             {
2026-06-08T23:22:37.5443480Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-08T23:22:37.5443783Z               "line": 461
2026-06-08T23:22:37.5444059Z             },
2026-06-08T23:22:37.5444344Z             {
2026-06-08T23:22:37.5444742Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-08T23:22:37.5445057Z               "line": 706
2026-06-08T23:22:37.5445342Z             },
2026-06-08T23:22:37.5445623Z             {
2026-06-08T23:22:37.5446027Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-08T23:22:37.5446330Z               "line": 805
2026-06-08T23:22:37.5446620Z             },
2026-06-08T23:22:37.5446907Z             {
2026-06-08T23:22:37.5447412Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-08T23:22:37.5447713Z               "line": 83
2026-06-08T23:22:37.5447995Z             },
2026-06-08T23:22:37.5448276Z             {
2026-06-08T23:22:37.5448653Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-08T23:22:37.5448966Z               "line": 460
2026-06-08T23:22:37.5449258Z             },
2026-06-08T23:22:37.5449534Z             {
2026-06-08T23:22:37.5449911Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-08T23:22:37.5450211Z               "line": 546
2026-06-08T23:22:37.5450502Z             },
2026-06-08T23:22:37.5450773Z             {
2026-06-08T23:22:37.5451180Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-08T23:22:37.5451487Z               "line": 196
2026-06-08T23:22:37.5451766Z             },
2026-06-08T23:22:37.5452042Z             {
2026-06-08T23:22:37.5452440Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-08T23:22:37.5452740Z               "line": 337
2026-06-08T23:22:37.5453011Z             },
2026-06-08T23:22:37.5453292Z             {
2026-06-08T23:22:37.5453689Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-08T23:22:37.5453982Z               "line": 847
2026-06-08T23:22:37.5454251Z             }
2026-06-08T23:22:37.5454691Z           ]
2026-06-08T23:22:37.5454962Z         },
2026-06-08T23:22:37.5455243Z         "int": {
2026-06-08T23:22:37.5455548Z           "complete": false,
2026-06-08T23:22:37.5455844Z           "evidence": []
2026-06-08T23:22:37.5456116Z         },
2026-06-08T23:22:37.5456402Z         "unit": {
2026-06-08T23:22:37.5456809Z           "complete": true,
2026-06-08T23:22:37.5457215Z           "evidence": [
2026-06-08T23:22:37.5457500Z             {
2026-06-08T23:22:37.5457878Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-08T23:22:37.5458188Z               "line": 637
2026-06-08T23:22:37.5458464Z             },
2026-06-08T23:22:37.5458745Z             {
2026-06-08T23:22:37.5459171Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-08T23:22:37.5459469Z               "line": 76
2026-06-08T23:22:37.5459750Z             },
2026-06-08T23:22:37.5460031Z             {
2026-06-08T23:22:37.5460452Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-08T23:22:37.5460762Z               "line": 147
2026-06-08T23:22:37.5461048Z             }
2026-06-08T23:22:37.5461319Z           ]
2026-06-08T23:22:37.5461600Z         }
2026-06-08T23:22:37.5461876Z       }
2026-06-08T23:22:37.5462160Z     },
2026-06-08T23:22:37.5462441Z     {
2026-06-08T23:22:37.5462737Z       "id": "REQ-EP-5",
2026-06-08T23:22:37.5465050Z       "title": "Concrete shell instantiation model: spawn-mints-instance (vs relink/online), registered-on-node permission + broadcast-is-discovery, per-shell require_approval gate, max_instances_per_owner + over_cap, instance aliasing, discovery scope",
2026-06-08T23:22:37.5465370Z       "requiredStages": [
2026-06-08T23:22:37.5465661Z         "impl",
2026-06-08T23:22:37.5465947Z         "unit",
2026-06-08T23:22:37.5466224Z         "int"
2026-06-08T23:22:37.5466501Z       ],
2026-06-08T23:22:37.5466787Z       "stages": {
2026-06-08T23:22:37.5467167Z         "doc": {
2026-06-08T23:22:37.5467508Z           "complete": false,
2026-06-08T23:22:37.5467823Z           "evidence": []
2026-06-08T23:22:37.5468104Z         },
2026-06-08T23:22:37.5468385Z         "impl": {
2026-06-08T23:22:37.5468695Z           "complete": true,
2026-06-08T23:22:37.5468990Z           "evidence": [
2026-06-08T23:22:37.5469272Z             {
2026-06-08T23:22:37.5469707Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.5470020Z               "line": 351
2026-06-08T23:22:37.5470305Z             },
2026-06-08T23:22:37.5470581Z             {
2026-06-08T23:22:37.5470993Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-08T23:22:37.5471288Z               "line": 18
2026-06-08T23:22:37.5471569Z             },
2026-06-08T23:22:37.5471850Z             {
2026-06-08T23:22:37.5472271Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-08T23:22:37.5472579Z               "line": 63
2026-06-08T23:22:37.5472857Z             },
2026-06-08T23:22:37.5473139Z             {
2026-06-08T23:22:37.5473550Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-08T23:22:37.5473860Z               "line": 92
2026-06-08T23:22:37.5474141Z             },
2026-06-08T23:22:37.5474422Z             {
2026-06-08T23:22:37.5474833Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-08T23:22:37.5475136Z               "line": 167
2026-06-08T23:22:37.5475429Z             },
2026-06-08T23:22:37.5475706Z             {
2026-06-08T23:22:37.5476112Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-08T23:22:37.5476408Z               "line": 179
2026-06-08T23:22:37.5476698Z             },
2026-06-08T23:22:37.5477090Z             {
2026-06-08T23:22:37.5477531Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.5477844Z               "line": 114
2026-06-08T23:22:37.5478121Z             },
2026-06-08T23:22:37.5478402Z             {
2026-06-08T23:22:37.5478802Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-08T23:22:37.5479098Z               "line": 22
2026-06-08T23:22:37.5479498Z             },
2026-06-08T23:22:37.5479779Z             {
2026-06-08T23:22:37.5480180Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-08T23:22:37.5480470Z               "line": 129
2026-06-08T23:22:37.5480752Z             },
2026-06-08T23:22:37.5481024Z             {
2026-06-08T23:22:37.5481524Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-08T23:22:37.5481825Z               "line": 156
2026-06-08T23:22:37.5482110Z             },
2026-06-08T23:22:37.5482392Z             {
2026-06-08T23:22:37.5482793Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-08T23:22:37.5483101Z               "line": 178
2026-06-08T23:22:37.5483384Z             },
2026-06-08T23:22:37.5483670Z             {
2026-06-08T23:22:37.5484071Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-08T23:22:37.5484372Z               "line": 203
2026-06-08T23:22:37.5484658Z             },
2026-06-08T23:22:37.5484940Z             {
2026-06-08T23:22:37.5485360Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-08T23:22:37.5485662Z               "line": 229
2026-06-08T23:22:37.5485942Z             },
2026-06-08T23:22:37.5486228Z             {
2026-06-08T23:22:37.5486628Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-08T23:22:37.5486924Z               "line": 252
2026-06-08T23:22:37.5487316Z             },
2026-06-08T23:22:37.5487597Z             {
2026-06-08T23:22:37.5487998Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-08T23:22:37.5488287Z               "line": 81
2026-06-08T23:22:37.5488576Z             },
2026-06-08T23:22:37.5488861Z             {
2026-06-08T23:22:37.5489215Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.5489510Z               "line": 3663
2026-06-08T23:22:37.5489801Z             },
2026-06-08T23:22:37.5490087Z             {
2026-06-08T23:22:37.5490435Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.5490741Z               "line": 3786
2026-06-08T23:22:37.5491025Z             },
2026-06-08T23:22:37.5491307Z             {
2026-06-08T23:22:37.5491655Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.5491964Z               "line": 3947
2026-06-08T23:22:37.5492256Z             },
2026-06-08T23:22:37.5492527Z             {
2026-06-08T23:22:37.5492870Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.5493181Z               "line": 4329
2026-06-08T23:22:37.5493453Z             }
2026-06-08T23:22:37.5493728Z           ]
2026-06-08T23:22:37.5494002Z         },
2026-06-08T23:22:37.5494288Z         "int": {
2026-06-08T23:22:37.5494598Z           "complete": true,
2026-06-08T23:22:37.5494898Z           "evidence": [
2026-06-08T23:22:37.5495180Z             {
2026-06-08T23:22:37.5495615Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-08T23:22:37.5495915Z               "line": 16
2026-06-08T23:22:37.5496199Z             },
2026-06-08T23:22:37.5496487Z             {
2026-06-08T23:22:37.5496869Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-08T23:22:37.5497261Z               "line": 15
2026-06-08T23:22:37.5497543Z             }
2026-06-08T23:22:37.5497823Z           ]
2026-06-08T23:22:37.5498109Z         },
2026-06-08T23:22:37.5498400Z         "unit": {
2026-06-08T23:22:37.5498714Z           "complete": true,
2026-06-08T23:22:37.5499026Z           "evidence": [
2026-06-08T23:22:37.5499308Z             {
2026-06-08T23:22:37.5499722Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-08T23:22:37.5500027Z               "line": 246
2026-06-08T23:22:37.5500308Z             },
2026-06-08T23:22:37.5500595Z             {
2026-06-08T23:22:37.5501014Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-08T23:22:37.5501310Z               "line": 306
2026-06-08T23:22:37.5501600Z             },
2026-06-08T23:22:37.5501876Z             {
2026-06-08T23:22:37.5502296Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-08T23:22:37.5502601Z               "line": 362
2026-06-08T23:22:37.5502998Z             },
2026-06-08T23:22:37.5503289Z             {
2026-06-08T23:22:37.5503699Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-08T23:22:37.5504014Z               "line": 268
2026-06-08T23:22:37.5504293Z             },
2026-06-08T23:22:37.5504572Z             {
2026-06-08T23:22:37.5505082Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-08T23:22:37.5505382Z               "line": 291
2026-06-08T23:22:37.5505669Z             },
2026-06-08T23:22:37.5505955Z             {
2026-06-08T23:22:37.5506360Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-08T23:22:37.5506645Z               "line": 491
2026-06-08T23:22:37.5506921Z             },
2026-06-08T23:22:37.5507291Z             {
2026-06-08T23:22:37.5507672Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.5507983Z               "line": 5118
2026-06-08T23:22:37.5508264Z             },
2026-06-08T23:22:37.5508550Z             {
2026-06-08T23:22:37.5508912Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.5509222Z               "line": 5242
2026-06-08T23:22:37.5509506Z             },
2026-06-08T23:22:37.5509787Z             {
2026-06-08T23:22:37.5510140Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.5510440Z               "line": 5829
2026-06-08T23:22:37.5510741Z             },
2026-06-08T23:22:37.5511023Z             {
2026-06-08T23:22:37.5511375Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.5511676Z               "line": 5894
2026-06-08T23:22:37.5511962Z             }
2026-06-08T23:22:37.5512246Z           ]
2026-06-08T23:22:37.5512527Z         }
2026-06-08T23:22:37.5512808Z       }
2026-06-08T23:22:37.5513080Z     },
2026-06-08T23:22:37.5513357Z     {
2026-06-08T23:22:37.5513667Z       "id": "REQ-FRONT-1",
2026-06-08T23:22:37.5514250Z       "title": "Day-one launcher/manager frontend (list/launch/attach/init)",
2026-06-08T23:22:37.5514569Z       "requiredStages": [],
2026-06-08T23:22:37.5514863Z       "stages": {
2026-06-08T23:22:37.5515161Z         "doc": {
2026-06-08T23:22:37.5515471Z           "complete": false,
2026-06-08T23:22:37.5515781Z           "evidence": []
2026-06-08T23:22:37.5516062Z         },
2026-06-08T23:22:37.5516348Z         "impl": {
2026-06-08T23:22:37.5516658Z           "complete": false,
2026-06-08T23:22:37.5517055Z           "evidence": []
2026-06-08T23:22:37.5517353Z         },
2026-06-08T23:22:37.5517631Z         "int": {
2026-06-08T23:22:37.5517955Z           "complete": false,
2026-06-08T23:22:37.5518256Z           "evidence": []
2026-06-08T23:22:37.5518538Z         },
2026-06-08T23:22:37.5518829Z         "unit": {
2026-06-08T23:22:37.5519139Z           "complete": false,
2026-06-08T23:22:37.5519444Z           "evidence": []
2026-06-08T23:22:37.5519726Z         }
2026-06-08T23:22:37.5520010Z       }
2026-06-08T23:22:37.5520294Z     },
2026-06-08T23:22:37.5520571Z     {
2026-06-08T23:22:37.5520939Z       "id": "REQ-HAZARD-CASCADE-WIPE-GUARD",
2026-06-08T23:22:37.5521515Z       "title": "No hard-delete of a parent hosting non-empty children (6.3)",
2026-06-08T23:22:37.5521835Z       "requiredStages": [
2026-06-08T23:22:37.5522125Z         "impl",
2026-06-08T23:22:37.5522411Z         "unit"
2026-06-08T23:22:37.5522696Z       ],
2026-06-08T23:22:37.5522983Z       "stages": {
2026-06-08T23:22:37.5523279Z         "doc": {
2026-06-08T23:22:37.5523584Z           "complete": false,
2026-06-08T23:22:37.5523893Z           "evidence": []
2026-06-08T23:22:37.5524171Z         },
2026-06-08T23:22:37.5524457Z         "impl": {
2026-06-08T23:22:37.5524772Z           "complete": true,
2026-06-08T23:22:37.5525063Z           "evidence": [
2026-06-08T23:22:37.5525351Z             {
2026-06-08T23:22:37.5528646Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-08T23:22:37.5528984Z               "line": 149
2026-06-08T23:22:37.5529271Z             },
2026-06-08T23:22:37.5529552Z             {
2026-06-08T23:22:37.5529952Z               "path": "crates/spt/src/api/worker.rs",
2026-06-08T23:22:37.5530417Z               "line": 18
2026-06-08T23:22:37.5530702Z             },
2026-06-08T23:22:37.5530983Z             {
2026-06-08T23:22:37.5531369Z               "path": "crates/spt/src/api/worker.rs",
2026-06-08T23:22:37.5531665Z               "line": 98
2026-06-08T23:22:37.5531947Z             }
2026-06-08T23:22:37.5532337Z           ]
2026-06-08T23:22:37.5532614Z         },
2026-06-08T23:22:37.5532895Z         "int": {
2026-06-08T23:22:37.5533209Z           "complete": false,
2026-06-08T23:22:37.5533519Z           "evidence": []
2026-06-08T23:22:37.5533791Z         },
2026-06-08T23:22:37.5534077Z         "unit": {
2026-06-08T23:22:37.5534387Z           "complete": true,
2026-06-08T23:22:37.5534683Z           "evidence": [
2026-06-08T23:22:37.5534964Z             {
2026-06-08T23:22:37.5535370Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-08T23:22:37.5535675Z               "line": 565
2026-06-08T23:22:37.5535955Z             },
2026-06-08T23:22:37.5536233Z             {
2026-06-08T23:22:37.5536630Z               "path": "crates/spt/src/api/worker.rs",
2026-06-08T23:22:37.5536926Z               "line": 159
2026-06-08T23:22:37.5537317Z             },
2026-06-08T23:22:37.5537594Z             {
2026-06-08T23:22:37.5537974Z               "path": "crates/spt/src/api/worker.rs",
2026-06-08T23:22:37.5538280Z               "line": 231
2026-06-08T23:22:37.5538564Z             }
2026-06-08T23:22:37.5538848Z           ]
2026-06-08T23:22:37.5539120Z         }
2026-06-08T23:22:37.5539386Z       }
2026-06-08T23:22:37.5539649Z     },
2026-06-08T23:22:37.5539926Z     {
2026-06-08T23:22:37.5540297Z       "id": "REQ-HAZARD-CHILD-CONSOLE-FLASH",
2026-06-08T23:22:37.5541745Z       "title": "Console-subsystem children of the console-less daemon spawn with CREATE_NO_WINDOW, or each spawn flashes a visible blank window on the user's desktop (5.8)",
2026-06-08T23:22:37.5542073Z       "requiredStages": [
2026-06-08T23:22:37.5542360Z         "impl",
2026-06-08T23:22:37.5542641Z         "unit"
2026-06-08T23:22:37.5542926Z       ],
2026-06-08T23:22:37.5543217Z       "stages": {
2026-06-08T23:22:37.5543493Z         "doc": {
2026-06-08T23:22:37.5543803Z           "complete": true,
2026-06-08T23:22:37.5544098Z           "evidence": [
2026-06-08T23:22:37.5544390Z             {
2026-06-08T23:22:37.5544761Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-08T23:22:37.5545076Z               "line": 218
2026-06-08T23:22:37.5545381Z             }
2026-06-08T23:22:37.5545667Z           ]
2026-06-08T23:22:37.5545949Z         },
2026-06-08T23:22:37.5546245Z         "impl": {
2026-06-08T23:22:37.5546552Z           "complete": true,
2026-06-08T23:22:37.5546856Z           "evidence": [
2026-06-08T23:22:37.5547223Z             {
2026-06-08T23:22:37.5547643Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-08T23:22:37.5547943Z               "line": 302
2026-06-08T23:22:37.5548229Z             },
2026-06-08T23:22:37.5548515Z             {
2026-06-08T23:22:37.5548924Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-08T23:22:37.5549237Z               "line": 257
2026-06-08T23:22:37.5549518Z             },
2026-06-08T23:22:37.5549804Z             {
2026-06-08T23:22:37.5550209Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-08T23:22:37.5550515Z               "line": 405
2026-06-08T23:22:37.5550809Z             },
2026-06-08T23:22:37.5551092Z             {
2026-06-08T23:22:37.5551476Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-08T23:22:37.5551775Z               "line": 77
2026-06-08T23:22:37.5552062Z             }
2026-06-08T23:22:37.5552347Z           ]
2026-06-08T23:22:37.5552624Z         },
2026-06-08T23:22:37.5552905Z         "int": {
2026-06-08T23:22:37.5553211Z           "complete": false,
2026-06-08T23:22:37.5553516Z           "evidence": []
2026-06-08T23:22:37.5553792Z         },
2026-06-08T23:22:37.5554082Z         "unit": {
2026-06-08T23:22:37.5554391Z           "complete": true,
2026-06-08T23:22:37.5554696Z           "evidence": [
2026-06-08T23:22:37.5555097Z             {
2026-06-08T23:22:37.5555504Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-08T23:22:37.5555799Z               "line": 478
2026-06-08T23:22:37.5556065Z             },
2026-06-08T23:22:37.5556342Z             {
2026-06-08T23:22:37.5556743Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-08T23:22:37.5557235Z               "line": 516
2026-06-08T23:22:37.5557535Z             },
2026-06-08T23:22:37.5557807Z             {
2026-06-08T23:22:37.5558193Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-08T23:22:37.5558489Z               "line": 166
2026-06-08T23:22:37.5558775Z             }
2026-06-08T23:22:37.5559075Z           ]
2026-06-08T23:22:37.5559348Z         }
2026-06-08T23:22:37.5559632Z       }
2026-06-08T23:22:37.5559901Z     },
2026-06-08T23:22:37.5560182Z     {
2026-06-08T23:22:37.5560574Z       "id": "REQ-HAZARD-CONFLICT-BOTH-PRESERVED",
2026-06-08T23:22:37.5562530Z       "title": "A surfaced concurrent context pair is durably preserved (both versions, tracked artifacts) until a strictly dominating write clears it; no reconcile failure path discards an unmerged version (6.6, ADR-0013)",
2026-06-08T23:22:37.5562921Z       "requiredStages": [
2026-06-08T23:22:37.5563208Z         "impl",
2026-06-08T23:22:37.5563494Z         "unit"
2026-06-08T23:22:37.5563790Z       ],
2026-06-08T23:22:37.5564081Z       "stages": {
2026-06-08T23:22:37.5564361Z         "doc": {
2026-06-08T23:22:37.5564681Z           "complete": false,
2026-06-08T23:22:37.5564999Z           "evidence": []
2026-06-08T23:22:37.5565275Z         },
2026-06-08T23:22:37.5565571Z         "impl": {
2026-06-08T23:22:37.5565886Z           "complete": true,
2026-06-08T23:22:37.5566187Z           "evidence": [
2026-06-08T23:22:37.5566468Z             {
2026-06-08T23:22:37.5566882Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-08T23:22:37.5567260Z               "line": 22
2026-06-08T23:22:37.5567544Z             },
2026-06-08T23:22:37.5567828Z             {
2026-06-08T23:22:37.5568224Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-08T23:22:37.5568524Z               "line": 479
2026-06-08T23:22:37.5568791Z             },
2026-06-08T23:22:37.5569063Z             {
2026-06-08T23:22:37.5569483Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-08T23:22:37.5569779Z               "line": 17
2026-06-08T23:22:37.5570050Z             },
2026-06-08T23:22:37.5570319Z             {
2026-06-08T23:22:37.5570719Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-08T23:22:37.5571015Z               "line": 140
2026-06-08T23:22:37.5571287Z             },
2026-06-08T23:22:37.5571573Z             {
2026-06-08T23:22:37.5571992Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-08T23:22:37.5572297Z               "line": 194
2026-06-08T23:22:37.5572578Z             },
2026-06-08T23:22:37.5572853Z             {
2026-06-08T23:22:37.5573276Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-08T23:22:37.5573577Z               "line": 219
2026-06-08T23:22:37.5573844Z             },
2026-06-08T23:22:37.5574116Z             {
2026-06-08T23:22:37.5574545Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-08T23:22:37.5574845Z               "line": 245
2026-06-08T23:22:37.5575126Z             },
2026-06-08T23:22:37.5575413Z             {
2026-06-08T23:22:37.5575812Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-08T23:22:37.5576113Z               "line": 124
2026-06-08T23:22:37.5576395Z             },
2026-06-08T23:22:37.5576680Z             {
2026-06-08T23:22:37.5577147Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-08T23:22:37.5577452Z               "line": 224
2026-06-08T23:22:37.5577733Z             }
2026-06-08T23:22:37.5578014Z           ]
2026-06-08T23:22:37.5578295Z         },
2026-06-08T23:22:37.5578575Z         "int": {
2026-06-08T23:22:37.5578890Z           "complete": false,
2026-06-08T23:22:37.5579191Z           "evidence": []
2026-06-08T23:22:37.5579585Z         },
2026-06-08T23:22:37.5579867Z         "unit": {
2026-06-08T23:22:37.5580177Z           "complete": true,
2026-06-08T23:22:37.5580479Z           "evidence": [
2026-06-08T23:22:37.5580757Z             {
2026-06-08T23:22:37.5581170Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-08T23:22:37.5581560Z               "line": 62
2026-06-08T23:22:37.5581843Z             },
2026-06-08T23:22:37.5582138Z             {
2026-06-08T23:22:37.5582538Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-08T23:22:37.5582834Z               "line": 72
2026-06-08T23:22:37.5583119Z             },
2026-06-08T23:22:37.5583399Z             {
2026-06-08T23:22:37.5583803Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-08T23:22:37.5584094Z               "line": 84
2026-06-08T23:22:37.5584376Z             },
2026-06-08T23:22:37.5584667Z             {
2026-06-08T23:22:37.5585076Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-08T23:22:37.5585386Z               "line": 346
2026-06-08T23:22:37.5585667Z             },
2026-06-08T23:22:37.5585940Z             {
2026-06-08T23:22:37.5586334Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-08T23:22:37.5586635Z               "line": 274
2026-06-08T23:22:37.5586912Z             },
2026-06-08T23:22:37.5587273Z             {
2026-06-08T23:22:37.5587679Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-08T23:22:37.5587970Z               "line": 315
2026-06-08T23:22:37.5588251Z             },
2026-06-08T23:22:37.5588533Z             {
2026-06-08T23:22:37.5588934Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-08T23:22:37.5589230Z               "line": 353
2026-06-08T23:22:37.5589517Z             },
2026-06-08T23:22:37.5589798Z             {
2026-06-08T23:22:37.5590226Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-08T23:22:37.5590537Z               "line": 656
2026-06-08T23:22:37.5590817Z             },
2026-06-08T23:22:37.5591109Z             {
2026-06-08T23:22:37.5591510Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-08T23:22:37.5591810Z               "line": 397
2026-06-08T23:22:37.5592098Z             },
2026-06-08T23:22:37.5592378Z             {
2026-06-08T23:22:37.5592788Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-08T23:22:37.5593098Z               "line": 440
2026-06-08T23:22:37.5593384Z             }
2026-06-08T23:22:37.5593661Z           ]
2026-06-08T23:22:37.5593946Z         }
2026-06-08T23:22:37.5594221Z       }
2026-06-08T23:22:37.5594497Z     },
2026-06-08T23:22:37.5594768Z     {
2026-06-08T23:22:37.5595102Z       "id": "REQ-HAZARD-CONPTY-DSR",
2026-06-08T23:22:37.5595829Z       "title": "ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)",
2026-06-08T23:22:37.5596143Z       "requiredStages": [
2026-06-08T23:22:37.5596429Z         "impl",
2026-06-08T23:22:37.5596708Z         "unit"
2026-06-08T23:22:37.5597071Z       ],
2026-06-08T23:22:37.5597371Z       "stages": {
2026-06-08T23:22:37.5597662Z         "doc": {
2026-06-08T23:22:37.5597972Z           "complete": false,
2026-06-08T23:22:37.5598267Z           "evidence": []
2026-06-08T23:22:37.5598549Z         },
2026-06-08T23:22:37.5598835Z         "impl": {
2026-06-08T23:22:37.5599140Z           "complete": true,
2026-06-08T23:22:37.5599447Z           "evidence": [
2026-06-08T23:22:37.5599729Z             {
2026-06-08T23:22:37.5600115Z               "path": "crates/spt-term/src/reader.rs",
2026-06-08T23:22:37.5600415Z               "line": 169
2026-06-08T23:22:37.5600696Z             }
2026-06-08T23:22:37.5600983Z           ]
2026-06-08T23:22:37.5601264Z         },
2026-06-08T23:22:37.5601556Z         "int": {
2026-06-08T23:22:37.5601864Z           "complete": true,
2026-06-08T23:22:37.5602166Z           "evidence": [
2026-06-08T23:22:37.5602447Z             {
2026-06-08T23:22:37.5602834Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-08T23:22:37.5603130Z               "line": 44
2026-06-08T23:22:37.5603521Z             },
2026-06-08T23:22:37.5603803Z             {
2026-06-08T23:22:37.5604184Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-08T23:22:37.5604483Z               "line": 66
2026-06-08T23:22:37.5604756Z             }
2026-06-08T23:22:37.5605033Z           ]
2026-06-08T23:22:37.5605406Z         },
2026-06-08T23:22:37.5605692Z         "unit": {
2026-06-08T23:22:37.5606002Z           "complete": true,
2026-06-08T23:22:37.5606297Z           "evidence": [
2026-06-08T23:22:37.5606578Z             {
2026-06-08T23:22:37.5607042Z               "path": "crates/spt-term/src/reader.rs",
2026-06-08T23:22:37.5607346Z               "line": 186
2026-06-08T23:22:37.5607626Z             },
2026-06-08T23:22:37.5607902Z             {
2026-06-08T23:22:37.5608285Z               "path": "crates/spt-term/src/reader.rs",
2026-06-08T23:22:37.5608580Z               "line": 238
2026-06-08T23:22:37.5608866Z             },
2026-06-08T23:22:37.5609133Z             {
2026-06-08T23:22:37.5609506Z               "path": "crates/spt-term/src/reader.rs",
2026-06-08T23:22:37.5609799Z               "line": 266
2026-06-08T23:22:37.5610088Z             }
2026-06-08T23:22:37.5610364Z           ]
2026-06-08T23:22:37.5610637Z         }
2026-06-08T23:22:37.5610913Z       }
2026-06-08T23:22:37.5611185Z     },
2026-06-08T23:22:37.5611472Z     {
2026-06-08T23:22:37.5611858Z       "id": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
2026-06-08T23:22:37.5613346Z       "title": "Daemon-hosted perches (Psyche, spt-hosted Self) derive liveness from the daemon endpoint table + info.json status, never is_process_alive(info.pid) (2.5)",
2026-06-08T23:22:37.5613666Z       "requiredStages": [
2026-06-08T23:22:37.5613956Z         "impl",
2026-06-08T23:22:37.5614238Z         "unit",
2026-06-08T23:22:37.5614519Z         "int"
2026-06-08T23:22:37.5614796Z       ],
2026-06-08T23:22:37.5615080Z       "stages": {
2026-06-08T23:22:37.5615361Z         "doc": {
2026-06-08T23:22:37.5615676Z           "complete": false,
2026-06-08T23:22:37.5615976Z           "evidence": []
2026-06-08T23:22:37.5616267Z         },
2026-06-08T23:22:37.5616547Z         "impl": {
2026-06-08T23:22:37.5616872Z           "complete": true,
2026-06-08T23:22:37.5617249Z           "evidence": [
2026-06-08T23:22:37.5617526Z             {
2026-06-08T23:22:37.5617949Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-08T23:22:37.5618254Z               "line": 150
2026-06-08T23:22:37.5618536Z             },
2026-06-08T23:22:37.5618812Z             {
2026-06-08T23:22:37.5619222Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-08T23:22:37.5619523Z               "line": 174
2026-06-08T23:22:37.5619804Z             },
2026-06-08T23:22:37.5620086Z             {
2026-06-08T23:22:37.5620465Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-08T23:22:37.5620763Z               "line": 79
2026-06-08T23:22:37.5621049Z             },
2026-06-08T23:22:37.5621320Z             {
2026-06-08T23:22:37.5621674Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-08T23:22:37.5621969Z               "line": 51
2026-06-08T23:22:37.5622250Z             },
2026-06-08T23:22:37.5622522Z             {
2026-06-08T23:22:37.5622897Z               "path": "crates/spt-store/src/info.rs",
2026-06-08T23:22:37.5623191Z               "line": 154
2026-06-08T23:22:37.5623472Z             },
2026-06-08T23:22:37.5623764Z             {
2026-06-08T23:22:37.5624164Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-08T23:22:37.5624464Z               "line": 27
2026-06-08T23:22:37.5624745Z             },
2026-06-08T23:22:37.5625027Z             {
2026-06-08T23:22:37.5625421Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-08T23:22:37.5625720Z               "line": 79
2026-06-08T23:22:37.5626006Z             },
2026-06-08T23:22:37.5626288Z             {
2026-06-08T23:22:37.5626688Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-08T23:22:37.5627064Z               "line": 102
2026-06-08T23:22:37.5627351Z             },
2026-06-08T23:22:37.5627751Z             {
2026-06-08T23:22:37.5628158Z               "path": "crates/spt-store/src/registry.rs",
2026-06-08T23:22:37.5628456Z               "line": 116
2026-06-08T23:22:37.5628737Z             }
2026-06-08T23:22:37.5629018Z           ]
2026-06-08T23:22:37.5629294Z         },
2026-06-08T23:22:37.5629681Z         "int": {
2026-06-08T23:22:37.5629986Z           "complete": true,
2026-06-08T23:22:37.5630287Z           "evidence": [
2026-06-08T23:22:37.5630568Z             {
2026-06-08T23:22:37.5630991Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-08T23:22:37.5631285Z               "line": 35
2026-06-08T23:22:37.5631566Z             }
2026-06-08T23:22:37.5631847Z           ]
2026-06-08T23:22:37.5632119Z         },
2026-06-08T23:22:37.5632411Z         "unit": {
2026-06-08T23:22:37.5632724Z           "complete": true,
2026-06-08T23:22:37.5633029Z           "evidence": [
2026-06-08T23:22:37.5633307Z             {
2026-06-08T23:22:37.5633713Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-08T23:22:37.5634023Z               "line": 584
2026-06-08T23:22:37.5634300Z             },
2026-06-08T23:22:37.5634586Z             {
2026-06-08T23:22:37.5634968Z               "path": "crates/spt-store/src/info.rs",
2026-06-08T23:22:37.5635268Z               "line": 351
2026-06-08T23:22:37.5635563Z             },
2026-06-08T23:22:37.5635845Z             {
2026-06-08T23:22:37.5636251Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-08T23:22:37.5636552Z               "line": 124
2026-06-08T23:22:37.5636838Z             },
2026-06-08T23:22:37.5637210Z             {
2026-06-08T23:22:37.5637610Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-08T23:22:37.5637916Z               "line": 143
2026-06-08T23:22:37.5638196Z             },
2026-06-08T23:22:37.5638483Z             {
2026-06-08T23:22:37.5638882Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-08T23:22:37.5639187Z               "line": 160
2026-06-08T23:22:37.5639493Z             },
2026-06-08T23:22:37.5639775Z             {
2026-06-08T23:22:37.5640183Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-08T23:22:37.5640480Z               "line": 187
2026-06-08T23:22:37.5640771Z             },
2026-06-08T23:22:37.5641052Z             {
2026-06-08T23:22:37.5641451Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-08T23:22:37.5641768Z               "line": 206
2026-06-08T23:22:37.5642054Z             },
2026-06-08T23:22:37.5642346Z             {
2026-06-08T23:22:37.5642741Z               "path": "crates/spt-store/src/registry.rs",
2026-06-08T23:22:37.5643046Z               "line": 229
2026-06-08T23:22:37.5643333Z             }
2026-06-08T23:22:37.5643618Z           ]
2026-06-08T23:22:37.5643905Z         }
2026-06-08T23:22:37.5644185Z       }
2026-06-08T23:22:37.5644465Z     },
2026-06-08T23:22:37.5644741Z     {
2026-06-08T23:22:37.5645142Z       "id": "REQ-HAZARD-DAEMON-SCHED-NONBLOCKING",
2026-06-08T23:22:37.5647441Z       "title": "Per-agent pulse/psyche/echo-commune scheduling must not serialize across agents: each agent's bounded LLM call (echo-commune summarizer, Psyche turn) runs off the shared scheduler so one slow/hung call cannot stall another agent's tick (7.4)",
2026-06-08T23:22:37.5647789Z       "requiredStages": [
2026-06-08T23:22:37.5648080Z         "impl",
2026-06-08T23:22:37.5648375Z         "unit"
2026-06-08T23:22:37.5648657Z       ],
2026-06-08T23:22:37.5648944Z       "stages": {
2026-06-08T23:22:37.5649230Z         "doc": {
2026-06-08T23:22:37.5649543Z           "complete": false,
2026-06-08T23:22:37.5649877Z           "evidence": []
2026-06-08T23:22:37.5650158Z         },
2026-06-08T23:22:37.5650448Z         "impl": {
2026-06-08T23:22:37.5650811Z           "complete": true,
2026-06-08T23:22:37.5651126Z           "evidence": [
2026-06-08T23:22:37.5651407Z             {
2026-06-08T23:22:37.5651823Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-08T23:22:37.5652131Z               "line": 222
2026-06-08T23:22:37.5652554Z             },
2026-06-08T23:22:37.5652835Z             {
2026-06-08T23:22:37.5653245Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-08T23:22:37.5653550Z               "line": 389
2026-06-08T23:22:37.5653840Z             }
2026-06-08T23:22:37.5654122Z           ]
2026-06-08T23:22:37.5654404Z         },
2026-06-08T23:22:37.5654810Z         "int": {
2026-06-08T23:22:37.5655158Z           "complete": false,
2026-06-08T23:22:37.5655477Z           "evidence": []
2026-06-08T23:22:37.5655774Z         },
2026-06-08T23:22:37.5656073Z         "unit": {
2026-06-08T23:22:37.5656392Z           "complete": true,
2026-06-08T23:22:37.5656721Z           "evidence": [
2026-06-08T23:22:37.5657178Z             {
2026-06-08T23:22:37.5657630Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-08T23:22:37.5657939Z               "line": 161
2026-06-08T23:22:37.5658226Z             }
2026-06-08T23:22:37.5658512Z           ]
2026-06-08T23:22:37.5658803Z         }
2026-06-08T23:22:37.5659098Z       }
2026-06-08T23:22:37.5659374Z     },
2026-06-08T23:22:37.5659660Z     {
2026-06-08T23:22:37.5660003Z       "id": "REQ-HAZARD-DEFERRED-DRAIN",
2026-06-08T23:22:37.5660618Z       "title": "Deferred spool rows excluded from the event-stream drain (1.4)",
2026-06-08T23:22:37.5660942Z       "requiredStages": [
2026-06-08T23:22:37.5661238Z         "impl",
2026-06-08T23:22:37.5661533Z         "unit"
2026-06-08T23:22:37.5661819Z       ],
2026-06-08T23:22:37.5662120Z       "stages": {
2026-06-08T23:22:37.5662412Z         "doc": {
2026-06-08T23:22:37.5662729Z           "complete": false,
2026-06-08T23:22:37.5663042Z           "evidence": []
2026-06-08T23:22:37.5663324Z         },
2026-06-08T23:22:37.5663619Z         "impl": {
2026-06-08T23:22:37.5663929Z           "complete": true,
2026-06-08T23:22:37.5664239Z           "evidence": [
2026-06-08T23:22:37.5664524Z             {
2026-06-08T23:22:37.5664917Z               "path": "crates/spt-store/src/spool.rs",
2026-06-08T23:22:37.5665215Z               "line": 40
2026-06-08T23:22:37.5665508Z             },
2026-06-08T23:22:37.5665803Z             {
2026-06-08T23:22:37.5666210Z               "path": "crates/spt-store/src/spool.rs",
2026-06-08T23:22:37.5666520Z               "line": 100
2026-06-08T23:22:37.5666816Z             },
2026-06-08T23:22:37.5667168Z             {
2026-06-08T23:22:37.5667578Z               "path": "crates/spt-store/src/spool.rs",
2026-06-08T23:22:37.5667886Z               "line": 215
2026-06-08T23:22:37.5668171Z             },
2026-06-08T23:22:37.5668457Z             {
2026-06-08T23:22:37.5668857Z               "path": "crates/spt-store/src/spool.rs",
2026-06-08T23:22:37.5669158Z               "line": 314
2026-06-08T23:22:37.5669444Z             }
2026-06-08T23:22:37.5669731Z           ]
2026-06-08T23:22:37.5670012Z         },
2026-06-08T23:22:37.5670307Z         "int": {
2026-06-08T23:22:37.5670615Z           "complete": false,
2026-06-08T23:22:37.5670925Z           "evidence": []
2026-06-08T23:22:37.5671211Z         },
2026-06-08T23:22:37.5671502Z         "unit": {
2026-06-08T23:22:37.5671816Z           "complete": true,
2026-06-08T23:22:37.5672118Z           "evidence": [
2026-06-08T23:22:37.5672403Z             {
2026-06-08T23:22:37.5672789Z               "path": "crates/spt-store/src/spool.rs",
2026-06-08T23:22:37.5673085Z               "line": 352
2026-06-08T23:22:37.5673382Z             },
2026-06-08T23:22:37.5673665Z             {
2026-06-08T23:22:37.5674045Z               "path": "crates/spt-store/src/spool.rs",
2026-06-08T23:22:37.5674345Z               "line": 409
2026-06-08T23:22:37.5674637Z             },
2026-06-08T23:22:37.5674927Z             {
2026-06-08T23:22:37.5675304Z               "path": "crates/spt-store/src/spool.rs",
2026-06-08T23:22:37.5675613Z               "line": 458
2026-06-08T23:22:37.5675893Z             },
2026-06-08T23:22:37.5676179Z             {
2026-06-08T23:22:37.5676565Z               "path": "crates/spt-store/src/spool.rs",
2026-06-08T23:22:37.5676870Z               "line": 479
2026-06-08T23:22:37.5677356Z             }
2026-06-08T23:22:37.5677647Z           ]
2026-06-08T23:22:37.5677928Z         }
2026-06-08T23:22:37.5678199Z       }
2026-06-08T23:22:37.5678478Z     },
2026-06-08T23:22:37.5678760Z     {
2026-06-08T23:22:37.5679155Z       "id": "REQ-HAZARD-DEFERRED-SURVIVE-DRAIN",
2026-06-08T23:22:37.5679593Z       "title": "Deferred rows survive poll drain (4.4)",
2026-06-08T23:22:37.5680009Z       "requiredStages": [
2026-06-08T23:22:37.5680305Z         "impl",
2026-06-08T23:22:37.5680587Z         "unit"
2026-06-08T23:22:37.5680872Z       ],
2026-06-08T23:22:37.5681166Z       "stages": {
2026-06-08T23:22:37.5681461Z         "doc": {
2026-06-08T23:22:37.5681780Z           "complete": false,
2026-06-08T23:22:37.5682091Z           "evidence": []
2026-06-08T23:22:37.5682382Z         },
2026-06-08T23:22:37.5682673Z         "impl": {
2026-06-08T23:22:37.5682992Z           "complete": true,
2026-06-08T23:22:37.5683292Z           "evidence": [
2026-06-08T23:22:37.5683579Z             {
2026-06-08T23:22:37.5683985Z               "path": "crates/spt-store/src/spool.rs",
2026-06-08T23:22:37.5684290Z               "line": 113
2026-06-08T23:22:37.5684577Z             },
2026-06-08T23:22:37.5684863Z             {
2026-06-08T23:22:37.5685258Z               "path": "crates/spt-store/src/spool.rs",
2026-06-08T23:22:37.5685559Z               "line": 208
2026-06-08T23:22:37.5685859Z             }
2026-06-08T23:22:37.5686159Z           ]
2026-06-08T23:22:37.5686444Z         },
2026-06-08T23:22:37.5686734Z         "int": {
2026-06-08T23:22:37.5687129Z           "complete": false,
2026-06-08T23:22:37.5687440Z           "evidence": []
2026-06-08T23:22:37.5687730Z         },
2026-06-08T23:22:37.5688021Z         "unit": {
2026-06-08T23:22:37.5688341Z           "complete": true,
2026-06-08T23:22:37.5688637Z           "evidence": [
2026-06-08T23:22:37.5688926Z             {
2026-06-08T23:22:37.5689316Z               "path": "crates/spt-store/src/spool.rs",
2026-06-08T23:22:37.5689620Z               "line": 373
2026-06-08T23:22:37.5689906Z             },
2026-06-08T23:22:37.5690203Z             {
2026-06-08T23:22:37.5690593Z               "path": "crates/spt-store/src/spool.rs",
2026-06-08T23:22:37.5690884Z               "line": 436
2026-06-08T23:22:37.5691171Z             }
2026-06-08T23:22:37.5691447Z           ]
2026-06-08T23:22:37.5691731Z         }
2026-06-08T23:22:37.5692026Z       }
2026-06-08T23:22:37.5692317Z     },
2026-06-08T23:22:37.5692594Z     {
2026-06-08T23:22:37.5692984Z       "id": "REQ-HAZARD-DETACHED-PIPE-INHERIT",
2026-06-08T23:22:37.5696515Z       "title": "Windows detached long-lived children must not inherit a captured caller's pipe: every detach-spawn of an immortal child (daemon, shell binary) runs bInheritHandles=FALSE, or a caller capturing output anywhere up the process chain hangs forever on a pipe that never EOFs — std-handle flag stripping is NOT sufficient (grandparent strays still flow) (5.6)",
2026-06-08T23:22:37.5696847Z       "requiredStages": [
2026-06-08T23:22:37.5697213Z         "impl",
2026-06-08T23:22:37.5697513Z         "unit"
2026-06-08T23:22:37.5697804Z       ],
2026-06-08T23:22:37.5698099Z       "stages": {
2026-06-08T23:22:37.5698385Z         "doc": {
2026-06-08T23:22:37.5698700Z           "complete": true,
2026-06-08T23:22:37.5698996Z           "evidence": [
2026-06-08T23:22:37.5699281Z             {
2026-06-08T23:22:37.5699670Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-08T23:22:37.5699979Z               "line": 204
2026-06-08T23:22:37.5700266Z             }
2026-06-08T23:22:37.5700595Z           ]
2026-06-08T23:22:37.5700881Z         },
2026-06-08T23:22:37.5701176Z         "impl": {
2026-06-08T23:22:37.5701487Z           "complete": true,
2026-06-08T23:22:37.5701792Z           "evidence": [
2026-06-08T23:22:37.5702074Z             {
2026-06-08T23:22:37.5702482Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-08T23:22:37.5702788Z               "line": 410
2026-06-08T23:22:37.5703074Z             },
2026-06-08T23:22:37.5703350Z             {
2026-06-08T23:22:37.5703864Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-08T23:22:37.5704165Z               "line": 502
2026-06-08T23:22:37.5704446Z             },
2026-06-08T23:22:37.5704727Z             {
2026-06-08T23:22:37.5705134Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-08T23:22:37.5705453Z               "line": 183
2026-06-08T23:22:37.5705850Z             }
2026-06-08T23:22:37.5706146Z           ]
2026-06-08T23:22:37.5706436Z         },
2026-06-08T23:22:37.5706731Z         "int": {
2026-06-08T23:22:37.5707129Z           "complete": false,
2026-06-08T23:22:37.5707451Z           "evidence": []
2026-06-08T23:22:37.5707744Z         },
2026-06-08T23:22:37.5708030Z         "unit": {
2026-06-08T23:22:37.5708345Z           "complete": true,
2026-06-08T23:22:37.5708654Z           "evidence": [
2026-06-08T23:22:37.5708945Z             {
2026-06-08T23:22:37.5709351Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-08T23:22:37.5709656Z               "line": 540
2026-06-08T23:22:37.5709960Z             },
2026-06-08T23:22:37.5710239Z             {
2026-06-08T23:22:37.5710664Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-08T23:22:37.5710969Z               "line": 44
2026-06-08T23:22:37.5711254Z             },
2026-06-08T23:22:37.5711541Z             {
2026-06-08T23:22:37.5711928Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-08T23:22:37.5712233Z               "line": 54
2026-06-08T23:22:37.5712519Z             },
2026-06-08T23:22:37.5712804Z             {
2026-06-08T23:22:37.5713248Z               "path": "crates/spt/tests/shell_sleepwake_e2e.rs",
2026-06-08T23:22:37.5713548Z               "line": 51
2026-06-08T23:22:37.5713844Z             }
2026-06-08T23:22:37.5714124Z           ]
2026-06-08T23:22:37.5714411Z         }
2026-06-08T23:22:37.5714687Z       }
2026-06-08T23:22:37.5714978Z     },
2026-06-08T23:22:37.5715260Z     {
2026-06-08T23:22:37.5715657Z       "id": "REQ-HAZARD-DIRECT-WRITE-PRECEDENCE",
2026-06-08T23:22:37.5716381Z       "title": "Direct-write precedence marker (with node id) guards stale overwrite (6.5)",
2026-06-08T23:22:37.5716720Z       "requiredStages": [
2026-06-08T23:22:37.5717088Z         "impl",
2026-06-08T23:22:37.5717364Z         "unit"
2026-06-08T23:22:37.5717645Z       ],
2026-06-08T23:22:37.5717934Z       "stages": {
2026-06-08T23:22:37.5718251Z         "doc": {
2026-06-08T23:22:37.5718576Z           "complete": false,
2026-06-08T23:22:37.5718881Z           "evidence": []
2026-06-08T23:22:37.5719172Z         },
2026-06-08T23:22:37.5719454Z         "impl": {
2026-06-08T23:22:37.5719763Z           "complete": true,
2026-06-08T23:22:37.5720073Z           "evidence": [
2026-06-08T23:22:37.5720356Z             {
2026-06-08T23:22:37.5720752Z               "path": "crates/spt-live/src/context.rs",
2026-06-08T23:22:37.5721058Z               "line": 26
2026-06-08T23:22:37.5721344Z             },
2026-06-08T23:22:37.5721625Z             {
2026-06-08T23:22:37.5722021Z               "path": "crates/spt-live/src/context.rs",
2026-06-08T23:22:37.5722339Z               "line": 135
2026-06-08T23:22:37.5722626Z             },
2026-06-08T23:22:37.5722913Z             {
2026-06-08T23:22:37.5723331Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-08T23:22:37.5723631Z               "line": 26
2026-06-08T23:22:37.5723918Z             },
2026-06-08T23:22:37.5724213Z             {
2026-06-08T23:22:37.5724641Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-08T23:22:37.5724947Z               "line": 237
2026-06-08T23:22:37.5725233Z             }
2026-06-08T23:22:37.5725514Z           ]
2026-06-08T23:22:37.5725801Z         },
2026-06-08T23:22:37.5726086Z         "int": {
2026-06-08T23:22:37.5726413Z           "complete": false,
2026-06-08T23:22:37.5726732Z           "evidence": []
2026-06-08T23:22:37.5727099Z         },
2026-06-08T23:22:37.5727390Z         "unit": {
2026-06-08T23:22:37.5727700Z           "complete": true,
2026-06-08T23:22:37.5728006Z           "evidence": [
2026-06-08T23:22:37.5728400Z             {
2026-06-08T23:22:37.5728793Z               "path": "crates/spt-live/src/context.rs",
2026-06-08T23:22:37.5729093Z               "line": 161
2026-06-08T23:22:37.5729375Z             },
2026-06-08T23:22:37.5729656Z             {
2026-06-08T23:22:37.5730047Z               "path": "crates/spt-live/src/context.rs",
2026-06-08T23:22:37.5730452Z               "line": 170
2026-06-08T23:22:37.5730738Z             },
2026-06-08T23:22:37.5731028Z             {
2026-06-08T23:22:37.5731422Z               "path": "crates/spt-live/src/context.rs",
2026-06-08T23:22:37.5731722Z               "line": 179
2026-06-08T23:22:37.5732012Z             },
2026-06-08T23:22:37.5732299Z             {
2026-06-08T23:22:37.5732685Z               "path": "crates/spt-live/src/context.rs",
2026-06-08T23:22:37.5732990Z               "line": 190
2026-06-08T23:22:37.5733272Z             },
2026-06-08T23:22:37.5733557Z             {
2026-06-08T23:22:37.5733943Z               "path": "crates/spt-live/src/context.rs",
2026-06-08T23:22:37.5734258Z               "line": 199
2026-06-08T23:22:37.5734539Z             },
2026-06-08T23:22:37.5734826Z             {
2026-06-08T23:22:37.5735216Z               "path": "crates/spt-live/src/context.rs",
2026-06-08T23:22:37.5735512Z               "line": 216
2026-06-08T23:22:37.5735793Z             },
2026-06-08T23:22:37.5736084Z             {
2026-06-08T23:22:37.5736484Z               "path": "crates/spt-live/src/context.rs",
2026-06-08T23:22:37.5736781Z               "line": 242
2026-06-08T23:22:37.5737148Z             },
2026-06-08T23:22:37.5737434Z             {
2026-06-08T23:22:37.5737826Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-08T23:22:37.5738131Z               "line": 257
2026-06-08T23:22:37.5738417Z             },
2026-06-08T23:22:37.5738713Z             {
2026-06-08T23:22:37.5739098Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-08T23:22:37.5739405Z               "line": 244
2026-06-08T23:22:37.5739701Z             },
2026-06-08T23:22:37.5739973Z             {
2026-06-08T23:22:37.5740403Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-08T23:22:37.5740698Z               "line": 265
2026-06-08T23:22:37.5740984Z             },
2026-06-08T23:22:37.5746740Z             {
2026-06-08T23:22:37.5747323Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-08T23:22:37.5747728Z               "line": 293
2026-06-08T23:22:37.5748014Z             },
2026-06-08T23:22:37.5748309Z             {
2026-06-08T23:22:37.5748740Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-08T23:22:37.5749050Z               "line": 317
2026-06-08T23:22:37.5749331Z             },
2026-06-08T23:22:37.5749615Z             {
2026-06-08T23:22:37.5750052Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-08T23:22:37.5750352Z               "line": 327
2026-06-08T23:22:37.5750638Z             },
2026-06-08T23:22:37.5750919Z             {
2026-06-08T23:22:37.5751336Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-08T23:22:37.5751655Z               "line": 540
2026-06-08T23:22:37.5751946Z             }
2026-06-08T23:22:37.5752234Z           ]
2026-06-08T23:22:37.5752499Z         }
2026-06-08T23:22:37.5752771Z       }
2026-06-08T23:22:37.5753039Z     },
2026-06-08T23:22:37.5753320Z     {
2026-06-08T23:22:37.5753701Z       "id": "REQ-HAZARD-DROP-FILE-SINGLE-WRITER",
2026-06-08T23:22:37.5754203Z       "title": "Drop files are daemon-owned single-writer (6.4)",
2026-06-08T23:22:37.5754518Z       "requiredStages": [
2026-06-08T23:22:37.5754799Z         "impl",
2026-06-08T23:22:37.5755087Z         "unit"
2026-06-08T23:22:37.5755359Z       ],
2026-06-08T23:22:37.5755640Z       "stages": {
2026-06-08T23:22:37.5755932Z         "doc": {
2026-06-08T23:22:37.5756256Z           "complete": false,
2026-06-08T23:22:37.5756561Z           "evidence": []
2026-06-08T23:22:37.5756838Z         },
2026-06-08T23:22:37.5757214Z         "impl": {
2026-06-08T23:22:37.5757528Z           "complete": true,
2026-06-08T23:22:37.5757827Z           "evidence": [
2026-06-08T23:22:37.5758259Z             {
2026-06-08T23:22:37.5758656Z               "path": "crates/spt-live/src/echo.rs",
2026-06-08T23:22:37.5758942Z               "line": 25
2026-06-08T23:22:37.5759242Z             },
2026-06-08T23:22:37.5759523Z             {
2026-06-08T23:22:37.5759905Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-08T23:22:37.5760304Z               "line": 26
2026-06-08T23:22:37.5760584Z             },
2026-06-08T23:22:37.5760869Z             {
2026-06-08T23:22:37.5761257Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-08T23:22:37.5761552Z               "line": 159
2026-06-08T23:22:37.5761838Z             }
2026-06-08T23:22:37.5762114Z           ]
2026-06-08T23:22:37.5762400Z         },
2026-06-08T23:22:37.5762680Z         "int": {
2026-06-08T23:22:37.5763002Z           "complete": false,
2026-06-08T23:22:37.5763307Z           "evidence": []
2026-06-08T23:22:37.5763585Z         },
2026-06-08T23:22:37.5763870Z         "unit": {
2026-06-08T23:22:37.5764199Z           "complete": true,
2026-06-08T23:22:37.5764505Z           "evidence": [
2026-06-08T23:22:37.5764782Z             {
2026-06-08T23:22:37.5765158Z               "path": "crates/spt-live/src/echo.rs",
2026-06-08T23:22:37.5765459Z               "line": 184
2026-06-08T23:22:37.5765744Z             },
2026-06-08T23:22:37.5766044Z             {
2026-06-08T23:22:37.5766425Z               "path": "crates/spt-live/src/echo.rs",
2026-06-08T23:22:37.5766726Z               "line": 236
2026-06-08T23:22:37.5767112Z             },
2026-06-08T23:22:37.5767403Z             {
2026-06-08T23:22:37.5767798Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-08T23:22:37.5768093Z               "line": 186
2026-06-08T23:22:37.5768382Z             }
2026-06-08T23:22:37.5768664Z           ]
2026-06-08T23:22:37.5768945Z         }
2026-06-08T23:22:37.5769221Z       }
2026-06-08T23:22:37.5769502Z     },
2026-06-08T23:22:37.5769783Z     {
2026-06-08T23:22:37.5770126Z       "id": "REQ-HAZARD-EBUSY-RENAME",
2026-06-08T23:22:37.5770688Z       "title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
2026-06-08T23:22:37.5771010Z       "requiredStages": [
2026-06-08T23:22:37.5771301Z         "impl",
2026-06-08T23:22:37.5771582Z         "unit"
2026-06-08T23:22:37.5771859Z       ],
2026-06-08T23:22:37.5772155Z       "stages": {
2026-06-08T23:22:37.5772461Z         "doc": {
2026-06-08T23:22:37.5772780Z           "complete": false,
2026-06-08T23:22:37.5773085Z           "evidence": []
2026-06-08T23:22:37.5773379Z         },
2026-06-08T23:22:37.5773667Z         "impl": {
2026-06-08T23:22:37.5773977Z           "complete": true,
2026-06-08T23:22:37.5774287Z           "evidence": [
2026-06-08T23:22:37.5774573Z             {
2026-06-08T23:22:37.5774975Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-08T23:22:37.5775275Z               "line": 48
2026-06-08T23:22:37.5775570Z             },
2026-06-08T23:22:37.5775861Z             {
2026-06-08T23:22:37.5776256Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-08T23:22:37.5776566Z               "line": 55
2026-06-08T23:22:37.5776851Z             },
2026-06-08T23:22:37.5777210Z             {
2026-06-08T23:22:37.5777592Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-08T23:22:37.5777892Z               "line": 74
2026-06-08T23:22:37.5778188Z             },
2026-06-08T23:22:37.5778469Z             {
2026-06-08T23:22:37.5778858Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-08T23:22:37.5779151Z               "line": 91
2026-06-08T23:22:37.5779438Z             }
2026-06-08T23:22:37.5779728Z           ]
2026-06-08T23:22:37.5780005Z         },
2026-06-08T23:22:37.5780296Z         "int": {
2026-06-08T23:22:37.5780625Z           "complete": false,
2026-06-08T23:22:37.5780930Z           "evidence": []
2026-06-08T23:22:37.5781215Z         },
2026-06-08T23:22:37.5781505Z         "unit": {
2026-06-08T23:22:37.5781814Z           "complete": true,
2026-06-08T23:22:37.5782114Z           "evidence": [
2026-06-08T23:22:37.5782524Z             {
2026-06-08T23:22:37.5782919Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-08T23:22:37.5783220Z               "line": 149
2026-06-08T23:22:37.5783506Z             },
2026-06-08T23:22:37.5783796Z             {
2026-06-08T23:22:37.5784184Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-08T23:22:37.5784585Z               "line": 166
2026-06-08T23:22:37.5784876Z             },
2026-06-08T23:22:37.5785167Z             {
2026-06-08T23:22:37.5785563Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-08T23:22:37.5785864Z               "line": 176
2026-06-08T23:22:37.5786154Z             },
2026-06-08T23:22:37.5786450Z             {
2026-06-08T23:22:37.5786854Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-08T23:22:37.5787245Z               "line": 194
2026-06-08T23:22:37.5787541Z             },
2026-06-08T23:22:37.5787828Z             {
2026-06-08T23:22:37.5788217Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-08T23:22:37.5788532Z               "line": 207
2026-06-08T23:22:37.5788815Z             }
2026-06-08T23:22:37.5789116Z           ]
2026-06-08T23:22:37.5789399Z         }
2026-06-08T23:22:37.5789683Z       }
2026-06-08T23:22:37.5789973Z     },
2026-06-08T23:22:37.5790255Z     {
2026-06-08T23:22:37.5790632Z       "id": "REQ-HAZARD-ECHO-BEFORE-SIGNOFF",
2026-06-08T23:22:37.5791266Z       "title": "Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)",
2026-06-08T23:22:37.5791581Z       "requiredStages": [
2026-06-08T23:22:37.5791879Z         "impl",
2026-06-08T23:22:37.5792164Z         "unit"
2026-06-08T23:22:37.5792440Z       ],
2026-06-08T23:22:37.5792727Z       "stages": {
2026-06-08T23:22:37.5793022Z         "doc": {
2026-06-08T23:22:37.5793337Z           "complete": false,
2026-06-08T23:22:37.5793642Z           "evidence": []
2026-06-08T23:22:37.5793929Z         },
2026-06-08T23:22:37.5794220Z         "impl": {
2026-06-08T23:22:37.5794531Z           "complete": true,
2026-06-08T23:22:37.5794833Z           "evidence": [
2026-06-08T23:22:37.5795110Z             {
2026-06-08T23:22:37.5795520Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-08T23:22:37.5795825Z               "line": 373
2026-06-08T23:22:37.5796112Z             },
2026-06-08T23:22:37.5796393Z             {
2026-06-08T23:22:37.5796789Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-08T23:22:37.5797151Z               "line": 26
2026-06-08T23:22:37.5797440Z             }
2026-06-08T23:22:37.5797729Z           ]
2026-06-08T23:22:37.5798015Z         },
2026-06-08T23:22:37.5798310Z         "int": {
2026-06-08T23:22:37.5798625Z           "complete": false,
2026-06-08T23:22:37.5798931Z           "evidence": []
2026-06-08T23:22:37.5799221Z         },
2026-06-08T23:22:37.5799545Z         "unit": {
2026-06-08T23:22:37.5799859Z           "complete": true,
2026-06-08T23:22:37.5800166Z           "evidence": [
2026-06-08T23:22:37.5800457Z             {
2026-06-08T23:22:37.5800849Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-08T23:22:37.5801163Z               "line": 150
2026-06-08T23:22:37.5801449Z             },
2026-06-08T23:22:37.5801740Z             {
2026-06-08T23:22:37.5802132Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-08T23:22:37.5802444Z               "line": 208
2026-06-08T23:22:37.5802738Z             }
2026-06-08T23:22:37.5803019Z           ]
2026-06-08T23:22:37.5803310Z         }
2026-06-08T23:22:37.5803592Z       }
2026-06-08T23:22:37.5803878Z     },
2026-06-08T23:22:37.5804160Z     {
2026-06-08T23:22:37.5804550Z       "id": "REQ-HAZARD-ELEVATED-DAEMON-SPAWN",
2026-06-08T23:22:37.5808756Z       "title": "The daemon always runs unelevated in the invoking user's universe, regardless of which command spawns it: an elevated spawner de-elevates (Windows: UAC linked token via CreateProcessWithTokenW; Linux: drop to SUDO_UID/SUDO_GID + the invoker's HOME) — an elevated daemon's pipes deny unelevated clients (every later spt reads not-running→spawn→bind Access-denied) and a sudo'd daemon roots the user's state universe (5.7)",
2026-06-08T23:22:37.5809224Z       "requiredStages": [
2026-06-08T23:22:37.5809524Z         "doc",
2026-06-08T23:22:37.5809815Z         "impl",
2026-06-08T23:22:37.5810105Z         "unit"
2026-06-08T23:22:37.5810400Z       ],
2026-06-08T23:22:37.5810694Z       "stages": {
2026-06-08T23:22:37.5811123Z         "doc": {
2026-06-08T23:22:37.5811432Z           "complete": true,
2026-06-08T23:22:37.5811738Z           "evidence": [
2026-06-08T23:22:37.5812024Z             {
2026-06-08T23:22:37.5812396Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-08T23:22:37.5812706Z               "line": 212
2026-06-08T23:22:37.5812991Z             }
2026-06-08T23:22:37.5813279Z           ]
2026-06-08T23:22:37.5813561Z         },
2026-06-08T23:22:37.5813862Z         "impl": {
2026-06-08T23:22:37.5814177Z           "complete": true,
2026-06-08T23:22:37.5814481Z           "evidence": [
2026-06-08T23:22:37.5814772Z             {
2026-06-08T23:22:37.5815182Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-08T23:22:37.5815525Z               "line": 54
2026-06-08T23:22:37.5815813Z             },
2026-06-08T23:22:37.5816104Z             {
2026-06-08T23:22:37.5816509Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-08T23:22:37.5816828Z               "line": 328
2026-06-08T23:22:37.5817211Z             },
2026-06-08T23:22:37.5817496Z             {
2026-06-08T23:22:37.5817922Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-08T23:22:37.5818222Z               "line": 36
2026-06-08T23:22:37.5818525Z             },
2026-06-08T23:22:37.5818816Z             {
2026-06-08T23:22:37.5819241Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-08T23:22:37.5819546Z               "line": 59
2026-06-08T23:22:37.5819832Z             },
2026-06-08T23:22:37.5820119Z             {
2026-06-08T23:22:37.5820537Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-08T23:22:37.5820843Z               "line": 83
2026-06-08T23:22:37.5821137Z             },
2026-06-08T23:22:37.5821416Z             {
2026-06-08T23:22:37.5821826Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-08T23:22:37.5822141Z               "line": 140
2026-06-08T23:22:37.5822432Z             },
2026-06-08T23:22:37.5822714Z             {
2026-06-08T23:22:37.5823142Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-08T23:22:37.5823442Z               "line": 159
2026-06-08T23:22:37.5823722Z             },
2026-06-08T23:22:37.5824012Z             {
2026-06-08T23:22:37.5824426Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-08T23:22:37.5824732Z               "line": 384
2026-06-08T23:22:37.5825027Z             },
2026-06-08T23:22:37.5825318Z             {
2026-06-08T23:22:37.5825738Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-08T23:22:37.5826041Z               "line": 526
2026-06-08T23:22:37.5826335Z             },
2026-06-08T23:22:37.5826632Z             {
2026-06-08T23:22:37.5827165Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-08T23:22:37.5827475Z               "line": 572
2026-06-08T23:22:37.5827771Z             },
2026-06-08T23:22:37.5828056Z             {
2026-06-08T23:22:37.5828429Z               "path": "crates/spt/src/elevation.rs",
2026-06-08T23:22:37.5828744Z               "line": 145
2026-06-08T23:22:37.5829027Z             },
2026-06-08T23:22:37.5829314Z             {
2026-06-08T23:22:37.5829666Z               "path": "crates/spt/src/main.rs",
2026-06-08T23:22:37.5829971Z               "line": 39
2026-06-08T23:22:37.5830267Z             }
2026-06-08T23:22:37.5830549Z           ]
2026-06-08T23:22:37.5830835Z         },
2026-06-08T23:22:37.5831121Z         "int": {
2026-06-08T23:22:37.5831440Z           "complete": false,
2026-06-08T23:22:37.5831743Z           "evidence": []
2026-06-08T23:22:37.5832029Z         },
2026-06-08T23:22:37.5832315Z         "unit": {
2026-06-08T23:22:37.5832630Z           "complete": true,
2026-06-08T23:22:37.5833059Z           "evidence": [
2026-06-08T23:22:37.5833349Z             {
2026-06-08T23:22:37.5833764Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-08T23:22:37.5834073Z               "line": 760
2026-06-08T23:22:37.5834367Z             },
2026-06-08T23:22:37.5834657Z             {
2026-06-08T23:22:37.5835173Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-08T23:22:37.5835474Z               "line": 801
2026-06-08T23:22:37.5835754Z             },
2026-06-08T23:22:37.5836074Z             {
2026-06-08T23:22:37.5836494Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-08T23:22:37.5836830Z               "line": 875
2026-06-08T23:22:37.5837196Z             }
2026-06-08T23:22:37.5837482Z           ]
2026-06-08T23:22:37.5837773Z         }
2026-06-08T23:22:37.5838050Z       }
2026-06-08T23:22:37.5838331Z     },
2026-06-08T23:22:37.5838607Z     {
2026-06-08T23:22:37.5838999Z       "id": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
2026-06-08T23:22:37.5839526Z       "title": "Envelope decode order, ampersand decoded last (4.1)",
2026-06-08T23:22:37.5839864Z       "requiredStages": [
2026-06-08T23:22:37.5840155Z         "impl",
2026-06-08T23:22:37.5840446Z         "unit"
2026-06-08T23:22:37.5840728Z       ],
2026-06-08T23:22:37.5841028Z       "stages": {
2026-06-08T23:22:37.5841315Z         "doc": {
2026-06-08T23:22:37.5841653Z           "complete": false,
2026-06-08T23:22:37.5841954Z           "evidence": []
2026-06-08T23:22:37.5842238Z         },
2026-06-08T23:22:37.5842532Z         "impl": {
2026-06-08T23:22:37.5842847Z           "complete": true,
2026-06-08T23:22:37.5843152Z           "evidence": [
2026-06-08T23:22:37.5843443Z             {
2026-06-08T23:22:37.5843862Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-08T23:22:37.5844168Z               "line": 36
2026-06-08T23:22:37.5844450Z             },
2026-06-08T23:22:37.5844733Z             {
2026-06-08T23:22:37.5845147Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-08T23:22:37.5845456Z               "line": 68
2026-06-08T23:22:37.5845747Z             }
2026-06-08T23:22:37.5846039Z           ]
2026-06-08T23:22:37.5846319Z         },
2026-06-08T23:22:37.5846614Z         "int": {
2026-06-08T23:22:37.5846924Z           "complete": false,
2026-06-08T23:22:37.5847329Z           "evidence": []
2026-06-08T23:22:37.5847627Z         },
2026-06-08T23:22:37.5847927Z         "unit": {
2026-06-08T23:22:37.5848242Z           "complete": true,
2026-06-08T23:22:37.5848542Z           "evidence": [
2026-06-08T23:22:37.5848857Z             {
2026-06-08T23:22:37.5849263Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-08T23:22:37.5849564Z               "line": 143
2026-06-08T23:22:37.5849855Z             },
2026-06-08T23:22:37.5850138Z             {
2026-06-08T23:22:37.5850550Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-08T23:22:37.5850850Z               "line": 160
2026-06-08T23:22:37.5851136Z             },
2026-06-08T23:22:37.5851421Z             {
2026-06-08T23:22:37.5851847Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-08T23:22:37.5852162Z               "line": 168
2026-06-08T23:22:37.5852443Z             }
2026-06-08T23:22:37.5852737Z           ]
2026-06-08T23:22:37.5853019Z         }
2026-06-08T23:22:37.5853306Z       }
2026-06-08T23:22:37.5853587Z     },
2026-06-08T23:22:37.5853888Z     {
2026-06-08T23:22:37.5854279Z       "id": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
2026-06-08T23:22:37.5854875Z       "title": "Two-slice envelope parser is panic-free and tolerant (4.2)",
2026-06-08T23:22:37.5855203Z       "requiredStages": [
2026-06-08T23:22:37.5855492Z         "impl",
2026-06-08T23:22:37.5855782Z         "unit"
2026-06-08T23:22:37.5856064Z       ],
2026-06-08T23:22:37.5856360Z       "stages": {
2026-06-08T23:22:37.5856660Z         "doc": {
2026-06-08T23:22:37.5857050Z           "complete": false,
2026-06-08T23:22:37.5857360Z           "evidence": []
2026-06-08T23:22:37.5857647Z         },
2026-06-08T23:22:37.5857945Z         "impl": {
2026-06-08T23:22:37.5858368Z           "complete": true,
2026-06-08T23:22:37.5858673Z           "evidence": [
2026-06-08T23:22:37.5858964Z             {
2026-06-08T23:22:37.5859365Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-08T23:22:37.5859675Z               "line": 107
2026-06-08T23:22:37.5859960Z             }
2026-06-08T23:22:37.5860347Z           ]
2026-06-08T23:22:37.5860632Z         },
2026-06-08T23:22:37.5860919Z         "int": {
2026-06-08T23:22:37.5861233Z           "complete": false,
2026-06-08T23:22:37.5861534Z           "evidence": []
2026-06-08T23:22:37.5861825Z         },
2026-06-08T23:22:37.5862111Z         "unit": {
2026-06-08T23:22:37.5862426Z           "complete": true,
2026-06-08T23:22:37.5862722Z           "evidence": [
2026-06-08T23:22:37.5863013Z             {
2026-06-08T23:22:37.5863424Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-08T23:22:37.5863719Z               "line": 184
2026-06-08T23:22:37.5864005Z             },
2026-06-08T23:22:37.5864306Z             {
2026-06-08T23:22:37.5864715Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-08T23:22:37.5865016Z               "line": 193
2026-06-08T23:22:37.5865307Z             },
2026-06-08T23:22:37.5865599Z             {
2026-06-08T23:22:37.5866005Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-08T23:22:37.5866320Z               "line": 201
2026-06-08T23:22:37.5866605Z             },
2026-06-08T23:22:37.5866897Z             {
2026-06-08T23:22:37.5867396Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-08T23:22:37.5867740Z               "line": 211
2026-06-08T23:22:37.5868036Z             },
2026-06-08T23:22:37.5868311Z             {
2026-06-08T23:22:37.5868718Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-08T23:22:37.5869013Z               "line": 221
2026-06-08T23:22:37.5869310Z             }
2026-06-08T23:22:37.5869591Z           ]
2026-06-08T23:22:37.5869882Z         }
2026-06-08T23:22:37.5870163Z       }
2026-06-08T23:22:37.5870445Z     },
2026-06-08T23:22:37.5870727Z     {
2026-06-08T23:22:37.5871084Z       "id": "REQ-HAZARD-EPHEMERAL-CLEANUP",
2026-06-08T23:22:37.5871612Z       "title": "Ephemeral perch cleanup on every ring exit path (3.1)",
2026-06-08T23:22:37.5871931Z       "requiredStages": [
2026-06-08T23:22:37.5872217Z         "impl",
2026-06-08T23:22:37.5872517Z         "unit"
2026-06-08T23:22:37.5872795Z       ],
2026-06-08T23:22:37.5873100Z       "stages": {
2026-06-08T23:22:37.5873386Z         "doc": {
2026-06-08T23:22:37.5873700Z           "complete": false,
2026-06-08T23:22:37.5874003Z           "evidence": []
2026-06-08T23:22:37.5874289Z         },
2026-06-08T23:22:37.5874585Z         "impl": {
2026-06-08T23:22:37.5874904Z           "complete": true,
2026-06-08T23:22:37.5875209Z           "evidence": [
2026-06-08T23:22:37.5875486Z             {
2026-06-08T23:22:37.5875858Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-08T23:22:37.5876154Z               "line": 14
2026-06-08T23:22:37.5876447Z             },
2026-06-08T23:22:37.5876741Z             {
2026-06-08T23:22:37.5877199Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-08T23:22:37.5877533Z               "line": 62
2026-06-08T23:22:37.5877814Z             }
2026-06-08T23:22:37.5878101Z           ]
2026-06-08T23:22:37.5878387Z         },
2026-06-08T23:22:37.5878687Z         "int": {
2026-06-08T23:22:37.5879004Z           "complete": false,
2026-06-08T23:22:37.5879308Z           "evidence": []
2026-06-08T23:22:37.5879613Z         },
2026-06-08T23:22:37.5879898Z         "unit": {
2026-06-08T23:22:37.5880208Z           "complete": true,
2026-06-08T23:22:37.5880509Z           "evidence": [
2026-06-08T23:22:37.5880800Z             {
2026-06-08T23:22:37.5881177Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-08T23:22:37.5881472Z               "line": 160
2026-06-08T23:22:37.5881762Z             },
2026-06-08T23:22:37.5882043Z             {
2026-06-08T23:22:37.5882415Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-08T23:22:37.5882826Z               "line": 197
2026-06-08T23:22:37.5883121Z             },
2026-06-08T23:22:37.5883402Z             {
2026-06-08T23:22:37.5883761Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-08T23:22:37.5884056Z               "line": 219
2026-06-08T23:22:37.5884345Z             }
2026-06-08T23:22:37.5884734Z           ]
2026-06-08T23:22:37.5885010Z         }
2026-06-08T23:22:37.5885292Z       }
2026-06-08T23:22:37.5885564Z     },
2026-06-08T23:22:37.5885841Z     {
2026-06-08T23:22:37.5886179Z       "id": "REQ-HAZARD-EPOCH-RESET",
2026-06-08T23:22:37.5890322Z       "title": "Advertisement-epoch reset strands a node: peers' higher last-seen epoch drops the reset node's fresh advertisements as Stale until the counter outruns history. Common case (full reinstall/re-pair) is mitigated by REQ-SUBNET-7's ceremony eviction (peer-side epoch memory dies with the deleted row — acceptance-verified); the residual narrow slice (epoch file lost, identity kept) is documented, guard deferred to a field hit (4.11)",
2026-06-08T23:22:37.5890679Z       "requiredStages": [],
2026-06-08T23:22:37.5890979Z       "stages": {
2026-06-08T23:22:37.5891265Z         "doc": {
2026-06-08T23:22:37.5891584Z           "complete": true,
2026-06-08T23:22:37.5891890Z           "evidence": [
2026-06-08T23:22:37.5892177Z             {
2026-06-08T23:22:37.5892552Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-08T23:22:37.5892857Z               "line": 163
2026-06-08T23:22:37.5893143Z             }
2026-06-08T23:22:37.5893430Z           ]
2026-06-08T23:22:37.5893710Z         },
2026-06-08T23:22:37.5893996Z         "impl": {
2026-06-08T23:22:37.5894311Z           "complete": false,
2026-06-08T23:22:37.5894616Z           "evidence": []
2026-06-08T23:22:37.5894901Z         },
2026-06-08T23:22:37.5895189Z         "int": {
2026-06-08T23:22:37.5895499Z           "complete": false,
2026-06-08T23:22:37.5895809Z           "evidence": []
2026-06-08T23:22:37.5896091Z         },
2026-06-08T23:22:37.5896381Z         "unit": {
2026-06-08T23:22:37.5896706Z           "complete": false,
2026-06-08T23:22:37.5897078Z           "evidence": []
2026-06-08T23:22:37.5897363Z         }
2026-06-08T23:22:37.5897634Z       }
2026-06-08T23:22:37.5897914Z     },
2026-06-08T23:22:37.5898180Z     {
2026-06-08T23:22:37.5898567Z       "id": "REQ-HAZARD-EVENTPART-REASSEMBLY",
2026-06-08T23:22:37.5899296Z       "title": "EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently",
2026-06-08T23:22:37.5899620Z       "requiredStages": [
2026-06-08T23:22:37.5899911Z         "impl",
2026-06-08T23:22:37.5900200Z         "unit"
2026-06-08T23:22:37.5900481Z       ],
2026-06-08T23:22:37.5900772Z       "stages": {
2026-06-08T23:22:37.5901062Z         "doc": {
2026-06-08T23:22:37.5901372Z           "complete": false,
2026-06-08T23:22:37.5901677Z           "evidence": []
2026-06-08T23:22:37.5901963Z         },
2026-06-08T23:22:37.5902249Z         "impl": {
2026-06-08T23:22:37.5902564Z           "complete": true,
2026-06-08T23:22:37.5902858Z           "evidence": [
2026-06-08T23:22:37.5903159Z             {
2026-06-08T23:22:37.5903544Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-08T23:22:37.5903850Z               "line": 76
2026-06-08T23:22:37.5904141Z             },
2026-06-08T23:22:37.5904422Z             {
2026-06-08T23:22:37.5904808Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-08T23:22:37.5905119Z               "line": 167
2026-06-08T23:22:37.5905409Z             },
2026-06-08T23:22:37.5905693Z             {
2026-06-08T23:22:37.5906078Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-08T23:22:37.5906392Z               "line": 233
2026-06-08T23:22:37.5906680Z             },
2026-06-08T23:22:37.5907046Z             {
2026-06-08T23:22:37.5907438Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-08T23:22:37.5907777Z               "line": 272
2026-06-08T23:22:37.5908056Z             }
2026-06-08T23:22:37.5908349Z           ]
2026-06-08T23:22:37.5908636Z         },
2026-06-08T23:22:37.5908931Z         "int": {
2026-06-08T23:22:37.5909400Z           "complete": false,
2026-06-08T23:22:37.5909710Z           "evidence": []
2026-06-08T23:22:37.5909980Z         },
2026-06-08T23:22:37.5910272Z         "unit": {
2026-06-08T23:22:37.5910580Z           "complete": true,
2026-06-08T23:22:37.5910883Z           "evidence": [
2026-06-08T23:22:37.5911264Z             {
2026-06-08T23:22:37.5911652Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-08T23:22:37.5911957Z               "line": 321
2026-06-08T23:22:37.5912238Z             },
2026-06-08T23:22:37.5912509Z             {
2026-06-08T23:22:37.5912891Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-08T23:22:37.5913201Z               "line": 329
2026-06-08T23:22:37.5913480Z             },
2026-06-08T23:22:37.5913771Z             {
2026-06-08T23:22:37.5914158Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-08T23:22:37.5914448Z               "line": 356
2026-06-08T23:22:37.5914734Z             },
2026-06-08T23:22:37.5915021Z             {
2026-06-08T23:22:37.5915412Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-08T23:22:37.5915703Z               "line": 395
2026-06-08T23:22:37.5915983Z             },
2026-06-08T23:22:37.5916258Z             {
2026-06-08T23:22:37.5916653Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-08T23:22:37.5917093Z               "line": 406
2026-06-08T23:22:37.5917379Z             },
2026-06-08T23:22:37.5917664Z             {
2026-06-08T23:22:37.5918066Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-08T23:22:37.5918376Z               "line": 418
2026-06-08T23:22:37.5918660Z             },
2026-06-08T23:22:37.5918952Z             {
2026-06-08T23:22:37.5919340Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-08T23:22:37.5919635Z               "line": 442
2026-06-08T23:22:37.5919931Z             }
2026-06-08T23:22:37.5920216Z           ]
2026-06-08T23:22:37.5920507Z         }
2026-06-08T23:22:37.5920788Z       }
2026-06-08T23:22:37.5921083Z     },
2026-06-08T23:22:37.5921363Z     {
2026-06-08T23:22:37.5921705Z       "id": "REQ-HAZARD-GEN-START-NOW",
2026-06-08T23:22:37.5922202Z       "title": "gen_start = now() on cold-start and handoff (2.4)",
2026-06-08T23:22:37.5922522Z       "requiredStages": [
2026-06-08T23:22:37.5922822Z         "impl",
2026-06-08T23:22:37.5923113Z         "int"
2026-06-08T23:22:37.5923398Z       ],
2026-06-08T23:22:37.5923694Z       "stages": {
2026-06-08T23:22:37.5923979Z         "doc": {
2026-06-08T23:22:37.5924280Z           "complete": false,
2026-06-08T23:22:37.5924585Z           "evidence": []
2026-06-08T23:22:37.5924867Z         },
2026-06-08T23:22:37.5925157Z         "impl": {
2026-06-08T23:22:37.5925477Z           "complete": true,
2026-06-08T23:22:37.5925782Z           "evidence": [
2026-06-08T23:22:37.5926064Z             {
2026-06-08T23:22:37.5926464Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-08T23:22:37.5926762Z               "line": 22
2026-06-08T23:22:37.5927124Z             }
2026-06-08T23:22:37.5927409Z           ]
2026-06-08T23:22:37.5927705Z         },
2026-06-08T23:22:37.5927986Z         "int": {
2026-06-08T23:22:37.5928287Z           "complete": true,
2026-06-08T23:22:37.5928583Z           "evidence": [
2026-06-08T23:22:37.5928864Z             {
2026-06-08T23:22:37.5929267Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-08T23:22:37.5929556Z               "line": 18
2026-06-08T23:22:37.5929852Z             }
2026-06-08T23:22:37.5930142Z           ]
2026-06-08T23:22:37.5930428Z         },
2026-06-08T23:22:37.5930719Z         "unit": {
2026-06-08T23:22:37.5931034Z           "complete": false,
2026-06-08T23:22:37.5931358Z           "evidence": []
2026-06-08T23:22:37.5931639Z         }
2026-06-08T23:22:37.5931928Z       }
2026-06-08T23:22:37.5932220Z     },
2026-06-08T23:22:37.5932495Z     {
2026-06-08T23:22:37.5932881Z       "id": "REQ-HAZARD-GRACE-BEFORE-SIGNOFF",
2026-06-08T23:22:37.5933500Z       "title": "Grace-period wait completes before composing INIT_SIGNOFF (1.1)",
2026-06-08T23:22:37.5933944Z       "requiredStages": [
2026-06-08T23:22:37.5934239Z         "impl",
2026-06-08T23:22:37.5934535Z         "unit"
2026-06-08T23:22:37.5934835Z       ],
2026-06-08T23:22:37.5935121Z       "stages": {
2026-06-08T23:22:37.5935417Z         "doc": {
2026-06-08T23:22:37.5935731Z           "complete": false,
2026-06-08T23:22:37.5936136Z           "evidence": []
2026-06-08T23:22:37.5936422Z         },
2026-06-08T23:22:37.5936723Z         "impl": {
2026-06-08T23:22:37.5937113Z           "complete": true,
2026-06-08T23:22:37.5937411Z           "evidence": [
2026-06-08T23:22:37.5937698Z             {
2026-06-08T23:22:37.5938111Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-08T23:22:37.5938417Z               "line": 372
2026-06-08T23:22:37.5938703Z             },
2026-06-08T23:22:37.5938994Z             {
2026-06-08T23:22:37.5939376Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-08T23:22:37.5939675Z               "line": 27
2026-06-08T23:22:37.5939978Z             }
2026-06-08T23:22:37.5940245Z           ]
2026-06-08T23:22:37.5940531Z         },
2026-06-08T23:22:37.5940804Z         "int": {
2026-06-08T23:22:37.5941118Z           "complete": false,
2026-06-08T23:22:37.5941419Z           "evidence": []
2026-06-08T23:22:37.5941700Z         },
2026-06-08T23:22:37.5941991Z         "unit": {
2026-06-08T23:22:37.5942289Z           "complete": true,
2026-06-08T23:22:37.5942592Z           "evidence": [
2026-06-08T23:22:37.5942878Z             {
2026-06-08T23:22:37.5943293Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-08T23:22:37.5943589Z               "line": 817
2026-06-08T23:22:37.5943865Z             },
2026-06-08T23:22:37.5944156Z             {
2026-06-08T23:22:37.5944557Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-08T23:22:37.5944862Z               "line": 181
2026-06-08T23:22:37.5945152Z             }
2026-06-08T23:22:37.5945433Z           ]
2026-06-08T23:22:37.5945724Z         }
2026-06-08T23:22:37.5946011Z       }
2026-06-08T23:22:37.5946291Z     },
2026-06-08T23:22:37.5946574Z     {
2026-06-08T23:22:37.5947025Z       "id": "REQ-HAZARD-HANDOFF-ARGV-COMPAT",
2026-06-08T23:22:37.5947588Z       "title": "Broker/brain IPC + handoff argv version-tolerant (2.3)",
2026-06-08T23:22:37.5947915Z       "requiredStages": [
2026-06-08T23:22:37.5948210Z         "impl",
2026-06-08T23:22:37.5948491Z         "unit"
2026-06-08T23:22:37.5948778Z       ],
2026-06-08T23:22:37.5949069Z       "stages": {
2026-06-08T23:22:37.5949359Z         "doc": {
2026-06-08T23:22:37.5949674Z           "complete": false,
2026-06-08T23:22:37.5949984Z           "evidence": []
2026-06-08T23:22:37.5950268Z         },
2026-06-08T23:22:37.5950557Z         "impl": {
2026-06-08T23:22:37.5950872Z           "complete": true,
2026-06-08T23:22:37.5951172Z           "evidence": [
2026-06-08T23:22:37.5951463Z             {
2026-06-08T23:22:37.5951854Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-08T23:22:37.5952159Z               "line": 20
2026-06-08T23:22:37.5952450Z             },
2026-06-08T23:22:37.5952736Z             {
2026-06-08T23:22:37.5953123Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-08T23:22:37.5953429Z               "line": 100
2026-06-08T23:22:37.5953715Z             },
2026-06-08T23:22:37.5954006Z             {
2026-06-08T23:22:37.5954435Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-08T23:22:37.5954735Z               "line": 68
2026-06-08T23:22:37.5955012Z             },
2026-06-08T23:22:37.5955298Z             {
2026-06-08T23:22:37.5955712Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-08T23:22:37.5956017Z               "line": 80
2026-06-08T23:22:37.5956308Z             }
2026-06-08T23:22:37.5956595Z           ]
2026-06-08T23:22:37.5956885Z         },
2026-06-08T23:22:37.5957248Z         "int": {
2026-06-08T23:22:37.5957557Z           "complete": false,
2026-06-08T23:22:37.5957862Z           "evidence": []
2026-06-08T23:22:37.5963613Z         },
2026-06-08T23:22:37.5964180Z         "unit": {
2026-06-08T23:22:37.5964500Z           "complete": true,
2026-06-08T23:22:37.5964810Z           "evidence": [
2026-06-08T23:22:37.5965097Z             {
2026-06-08T23:22:37.5965501Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-08T23:22:37.5965802Z               "line": 152
2026-06-08T23:22:37.5966196Z             },
2026-06-08T23:22:37.5966478Z             {
2026-06-08T23:22:37.5966873Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-08T23:22:37.5967283Z               "line": 175
2026-06-08T23:22:37.5967584Z             },
2026-06-08T23:22:37.5967864Z             {
2026-06-08T23:22:37.5968252Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-08T23:22:37.5968572Z               "line": 186
2026-06-08T23:22:37.5968855Z             },
2026-06-08T23:22:37.5969149Z             {
2026-06-08T23:22:37.5969545Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-08T23:22:37.5969845Z               "line": 202
2026-06-08T23:22:37.5970141Z             },
2026-06-08T23:22:37.5970465Z             {
2026-06-08T23:22:37.5970862Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-08T23:22:37.5971157Z               "line": 216
2026-06-08T23:22:37.5971446Z             },
2026-06-08T23:22:37.5971734Z             {
2026-06-08T23:22:37.5972156Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-08T23:22:37.5972461Z               "line": 137
2026-06-08T23:22:37.5972751Z             }
2026-06-08T23:22:37.5973037Z           ]
2026-06-08T23:22:37.5973313Z         }
2026-06-08T23:22:37.5973594Z       }
2026-06-08T23:22:37.5973875Z     },
2026-06-08T23:22:37.5974154Z     {
2026-06-08T23:22:37.5974497Z       "id": "REQ-HAZARD-ID-CHARSET",
2026-06-08T23:22:37.5975337Z       "title": "Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)",
2026-06-08T23:22:37.5975662Z       "requiredStages": [
2026-06-08T23:22:37.5975947Z         "impl",
2026-06-08T23:22:37.5976243Z         "unit"
2026-06-08T23:22:37.5976523Z       ],
2026-06-08T23:22:37.5976808Z       "stages": {
2026-06-08T23:22:37.5977190Z         "doc": {
2026-06-08T23:22:37.5977505Z           "complete": true,
2026-06-08T23:22:37.5977804Z           "evidence": [
2026-06-08T23:22:37.5978077Z             {
2026-06-08T23:22:37.5978449Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-08T23:22:37.5978754Z               "line": 131
2026-06-08T23:22:37.5979035Z             }
2026-06-08T23:22:37.5979316Z           ]
2026-06-08T23:22:37.5979600Z         },
2026-06-08T23:22:37.5979886Z         "impl": {
2026-06-08T23:22:37.5980206Z           "complete": true,
2026-06-08T23:22:37.5980516Z           "evidence": [
2026-06-08T23:22:37.5980802Z             {
2026-06-08T23:22:37.5981173Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-08T23:22:37.5981474Z               "line": 65
2026-06-08T23:22:37.5981761Z             },
2026-06-08T23:22:37.5982045Z             {
2026-06-08T23:22:37.5982415Z               "path": "crates/spt-proto/src/id.rs",
2026-06-08T23:22:37.5982720Z               "line": 17
2026-06-08T23:22:37.5983016Z             },
2026-06-08T23:22:37.5983307Z             {
2026-06-08T23:22:37.5983693Z               "path": "crates/spt/src/api/startup.rs",
2026-06-08T23:22:37.5983998Z               "line": 217
2026-06-08T23:22:37.5984289Z             },
2026-06-08T23:22:37.5984563Z             {
2026-06-08T23:22:37.5984953Z               "path": "crates/spt/src/api/startup.rs",
2026-06-08T23:22:37.5985263Z               "line": 317
2026-06-08T23:22:37.5985544Z             },
2026-06-08T23:22:37.5985834Z             {
2026-06-08T23:22:37.5986217Z               "path": "crates/spt/src/api/worker.rs",
2026-06-08T23:22:37.5986517Z               "line": 32
2026-06-08T23:22:37.5986808Z             },
2026-06-08T23:22:37.5987171Z             {
2026-06-08T23:22:37.5987546Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.5987846Z               "line": 3754
2026-06-08T23:22:37.5988138Z             },
2026-06-08T23:22:37.5988518Z             {
2026-06-08T23:22:37.5988866Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.5989171Z               "line": 4022
2026-06-08T23:22:37.5989453Z             }
2026-06-08T23:22:37.5989745Z           ]
2026-06-08T23:22:37.5990028Z         },
2026-06-08T23:22:37.5990317Z         "int": {
2026-06-08T23:22:37.5990727Z           "complete": false,
2026-06-08T23:22:37.5991033Z           "evidence": []
2026-06-08T23:22:37.5991324Z         },
2026-06-08T23:22:37.5991619Z         "unit": {
2026-06-08T23:22:37.5991934Z           "complete": true,
2026-06-08T23:22:37.5992225Z           "evidence": [
2026-06-08T23:22:37.5992504Z             {
2026-06-08T23:22:37.5992878Z               "path": "crates/spt-proto/src/id.rs",
2026-06-08T23:22:37.5993179Z               "line": 94
2026-06-08T23:22:37.5993465Z             },
2026-06-08T23:22:37.5993752Z             {
2026-06-08T23:22:37.5994123Z               "path": "crates/spt-proto/src/id.rs",
2026-06-08T23:22:37.5994423Z               "line": 111
2026-06-08T23:22:37.5994720Z             },
2026-06-08T23:22:37.5995000Z             {
2026-06-08T23:22:37.5995374Z               "path": "crates/spt-proto/src/id.rs",
2026-06-08T23:22:37.5995684Z               "line": 124
2026-06-08T23:22:37.5995966Z             },
2026-06-08T23:22:37.5996252Z             {
2026-06-08T23:22:37.5996623Z               "path": "crates/spt-proto/src/id.rs",
2026-06-08T23:22:37.5996929Z               "line": 134
2026-06-08T23:22:37.5997310Z             },
2026-06-08T23:22:37.5997596Z             {
2026-06-08T23:22:37.5997967Z               "path": "crates/spt-proto/src/id.rs",
2026-06-08T23:22:37.5998267Z               "line": 144
2026-06-08T23:22:37.5998553Z             },
2026-06-08T23:22:37.5998835Z             {
2026-06-08T23:22:37.5999202Z               "path": "crates/spt-proto/src/id.rs",
2026-06-08T23:22:37.5999502Z               "line": 156
2026-06-08T23:22:37.5999788Z             },
2026-06-08T23:22:37.6000074Z             {
2026-06-08T23:22:37.6000502Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-08T23:22:37.6000810Z               "line": 714
2026-06-08T23:22:37.6001091Z             }
2026-06-08T23:22:37.6001383Z           ]
2026-06-08T23:22:37.6001659Z         }
2026-06-08T23:22:37.6001936Z       }
2026-06-08T23:22:37.6002219Z     },
2026-06-08T23:22:37.6002494Z     {
2026-06-08T23:22:37.6002838Z       "id": "REQ-HAZARD-INBOX-NO-DOUBLE",
2026-06-08T23:22:37.6003269Z       "title": "No double-delivery via legacy inbox (4.5)",
2026-06-08T23:22:37.6003587Z       "requiredStages": [
2026-06-08T23:22:37.6003869Z         "impl",
2026-06-08T23:22:37.6004150Z         "unit"
2026-06-08T23:22:37.6004432Z       ],
2026-06-08T23:22:37.6004717Z       "stages": {
2026-06-08T23:22:37.6005013Z         "doc": {
2026-06-08T23:22:37.6005313Z           "complete": false,
2026-06-08T23:22:37.6005617Z           "evidence": []
2026-06-08T23:22:37.6005896Z         },
2026-06-08T23:22:37.6006183Z         "impl": {
2026-06-08T23:22:37.6006479Z           "complete": true,
2026-06-08T23:22:37.6006788Z           "evidence": [
2026-06-08T23:22:37.6007170Z             {
2026-06-08T23:22:37.6007589Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-08T23:22:37.6007904Z               "line": 128
2026-06-08T23:22:37.6008185Z             }
2026-06-08T23:22:37.6008470Z           ]
2026-06-08T23:22:37.6008761Z         },
2026-06-08T23:22:37.6009048Z         "int": {
2026-06-08T23:22:37.6009368Z           "complete": false,
2026-06-08T23:22:37.6009662Z           "evidence": []
2026-06-08T23:22:37.6009958Z         },
2026-06-08T23:22:37.6010245Z         "unit": {
2026-06-08T23:22:37.6010545Z           "complete": true,
2026-06-08T23:22:37.6010851Z           "evidence": [
2026-06-08T23:22:37.6011135Z             {
2026-06-08T23:22:37.6011524Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-08T23:22:37.6011825Z               "line": 205
2026-06-08T23:22:37.6012105Z             }
2026-06-08T23:22:37.6012391Z           ]
2026-06-08T23:22:37.6012672Z         }
2026-06-08T23:22:37.6013098Z       }
2026-06-08T23:22:37.6013374Z     },
2026-06-08T23:22:37.6013658Z     {
2026-06-08T23:22:37.6014033Z       "id": "REQ-HAZARD-INFO-JSON-TORN-READ",
2026-06-08T23:22:37.6014552Z       "title": "State-file reads tolerate concurrent writes (1.2)",
2026-06-08T23:22:37.6014862Z       "requiredStages": [
2026-06-08T23:22:37.6015253Z         "impl",
2026-06-08T23:22:37.6015544Z         "unit"
2026-06-08T23:22:37.6015821Z       ],
2026-06-08T23:22:37.6016106Z       "stages": {
2026-06-08T23:22:37.6016390Z         "doc": {
2026-06-08T23:22:37.6016705Z           "complete": false,
2026-06-08T23:22:37.6017076Z           "evidence": []
2026-06-08T23:22:37.6017362Z         },
2026-06-08T23:22:37.6017639Z         "impl": {
2026-06-08T23:22:37.6017940Z           "complete": true,
2026-06-08T23:22:37.6018255Z           "evidence": [
2026-06-08T23:22:37.6018527Z             {
2026-06-08T23:22:37.6018913Z               "path": "crates/spt-store/src/info.rs",
2026-06-08T23:22:37.6019213Z               "line": 246
2026-06-08T23:22:37.6019498Z             },
2026-06-08T23:22:37.6019774Z             {
2026-06-08T23:22:37.6020142Z               "path": "crates/spt-store/src/info.rs",
2026-06-08T23:22:37.6020466Z               "line": 257
2026-06-08T23:22:37.6020753Z             },
2026-06-08T23:22:37.6021053Z             {
2026-06-08T23:22:37.6021435Z               "path": "crates/spt-store/src/info.rs",
2026-06-08T23:22:37.6021747Z               "line": 275
2026-06-08T23:22:37.6022036Z             }
2026-06-08T23:22:37.6022322Z           ]
2026-06-08T23:22:37.6022603Z         },
2026-06-08T23:22:37.6022889Z         "int": {
2026-06-08T23:22:37.6023203Z           "complete": false,
2026-06-08T23:22:37.6023504Z           "evidence": []
2026-06-08T23:22:37.6023790Z         },
2026-06-08T23:22:37.6024086Z         "unit": {
2026-06-08T23:22:37.6024389Z           "complete": true,
2026-06-08T23:22:37.6024689Z           "evidence": [
2026-06-08T23:22:37.6024970Z             {
2026-06-08T23:22:37.6025356Z               "path": "crates/spt-store/src/info.rs",
2026-06-08T23:22:37.6025651Z               "line": 299
2026-06-08T23:22:37.6025938Z             },
2026-06-08T23:22:37.6026225Z             {
2026-06-08T23:22:37.6026615Z               "path": "crates/spt-store/src/info.rs",
2026-06-08T23:22:37.6026923Z               "line": 320
2026-06-08T23:22:37.6027293Z             },
2026-06-08T23:22:37.6027580Z             {
2026-06-08T23:22:37.6027956Z               "path": "crates/spt-store/src/info.rs",
2026-06-08T23:22:37.6028261Z               "line": 547
2026-06-08T23:22:37.6028547Z             },
2026-06-08T23:22:37.6028829Z             {
2026-06-08T23:22:37.6029219Z               "path": "crates/spt-store/src/info.rs",
2026-06-08T23:22:37.6029519Z               "line": 558
2026-06-08T23:22:37.6029806Z             },
2026-06-08T23:22:37.6030082Z             {
2026-06-08T23:22:37.6030459Z               "path": "crates/spt-store/src/info.rs",
2026-06-08T23:22:37.6030759Z               "line": 571
2026-06-08T23:22:37.6031045Z             }
2026-06-08T23:22:37.6031328Z           ]
2026-06-08T23:22:37.6031608Z         }
2026-06-08T23:22:37.6031884Z       }
2026-06-08T23:22:37.6032150Z     },
2026-06-08T23:22:37.6032415Z     {
2026-06-08T23:22:37.6032772Z       "id": "REQ-HAZARD-INSTANT-UNDERFLOW",
2026-06-08T23:22:37.6036799Z       "title": "Scheduling never subtracts a Duration from Instant::now() (underflow-panics on a host booted more recently than the offset); 'due now / never run' is Option<Instant>=None gated on forward duration_since only (5.9)",
2026-06-08T23:22:37.6037250Z       "requiredStages": [
2026-06-08T23:22:37.6037543Z         "impl",
2026-06-08T23:22:37.6037840Z         "unit"
2026-06-08T23:22:37.6038150Z       ],
2026-06-08T23:22:37.6038440Z       "stages": {
2026-06-08T23:22:37.6038732Z         "doc": {
2026-06-08T23:22:37.6039047Z           "complete": false,
2026-06-08T23:22:37.6039347Z           "evidence": []
2026-06-08T23:22:37.6039628Z         },
2026-06-08T23:22:37.6039919Z         "impl": {
2026-06-08T23:22:37.6040380Z           "complete": true,
2026-06-08T23:22:37.6040676Z           "evidence": [
2026-06-08T23:22:37.6040962Z             {
2026-06-08T23:22:37.6041386Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-08T23:22:37.6041686Z               "line": 666
2026-06-08T23:22:37.6042063Z             }
2026-06-08T23:22:37.6042349Z           ]
2026-06-08T23:22:37.6042630Z         },
2026-06-08T23:22:37.6042915Z         "int": {
2026-06-08T23:22:37.6043224Z           "complete": false,
2026-06-08T23:22:37.6043524Z           "evidence": []
2026-06-08T23:22:37.6043810Z         },
2026-06-08T23:22:37.6044091Z         "unit": {
2026-06-08T23:22:37.6044406Z           "complete": true,
2026-06-08T23:22:37.6044706Z           "evidence": [
2026-06-08T23:22:37.6044982Z             {
2026-06-08T23:22:37.6045397Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-08T23:22:37.6045699Z               "line": 780
2026-06-08T23:22:37.6045990Z             }
2026-06-08T23:22:37.6046275Z           ]
2026-06-08T23:22:37.6046552Z         }
2026-06-08T23:22:37.6046844Z       }
2026-06-08T23:22:37.6047210Z     },
2026-06-08T23:22:37.6047502Z     {
2026-06-08T23:22:37.6047849Z       "id": "REQ-HAZARD-LOCAL-API-AUTH",
2026-06-08T23:22:37.6048556Z       "title": "Every local `api` mutation authenticated to an endpoint/session (codex #13)",
2026-06-08T23:22:37.6048871Z       "requiredStages": [
2026-06-08T23:22:37.6049167Z         "impl",
2026-06-08T23:22:37.6049448Z         "unit"
2026-06-08T23:22:37.6049725Z       ],
2026-06-08T23:22:37.6050015Z       "stages": {
2026-06-08T23:22:37.6050297Z         "doc": {
2026-06-08T23:22:37.6050622Z           "complete": false,
2026-06-08T23:22:37.6050921Z           "evidence": []
2026-06-08T23:22:37.6051203Z         },
2026-06-08T23:22:37.6051494Z         "impl": {
2026-06-08T23:22:37.6051804Z           "complete": true,
2026-06-08T23:22:37.6052104Z           "evidence": [
2026-06-08T23:22:37.6052384Z             {
2026-06-08T23:22:37.6052767Z               "path": "crates/spt/src/api/auth.rs",
2026-06-08T23:22:37.6053072Z               "line": 14
2026-06-08T23:22:37.6053366Z             },
2026-06-08T23:22:37.6053683Z             {
2026-06-08T23:22:37.6054075Z               "path": "crates/spt/src/api/mod.rs",
2026-06-08T23:22:37.6054376Z               "line": 411
2026-06-08T23:22:37.6054666Z             }
2026-06-08T23:22:37.6054952Z           ]
2026-06-08T23:22:37.6055228Z         },
2026-06-08T23:22:37.6055514Z         "int": {
2026-06-08T23:22:37.6055865Z           "complete": false,
2026-06-08T23:22:37.6056168Z           "evidence": []
2026-06-08T23:22:37.6056450Z         },
2026-06-08T23:22:37.6056736Z         "unit": {
2026-06-08T23:22:37.6057122Z           "complete": true,
2026-06-08T23:22:37.6057423Z           "evidence": [
2026-06-08T23:22:37.6057704Z             {
2026-06-08T23:22:37.6058071Z               "path": "crates/spt/src/api/auth.rs",
2026-06-08T23:22:37.6058371Z               "line": 130
2026-06-08T23:22:37.6058659Z             },
2026-06-08T23:22:37.6058942Z             {
2026-06-08T23:22:37.6059313Z               "path": "crates/spt/src/api/auth.rs",
2026-06-08T23:22:37.6059608Z               "line": 138
2026-06-08T23:22:37.6059942Z             },
2026-06-08T23:22:37.6060228Z             {
2026-06-08T23:22:37.6060589Z               "path": "crates/spt/src/api/auth.rs",
2026-06-08T23:22:37.6060886Z               "line": 146
2026-06-08T23:22:37.6061168Z             },
2026-06-08T23:22:37.6061444Z             {
2026-06-08T23:22:37.6061810Z               "path": "crates/spt/src/api/auth.rs",
2026-06-08T23:22:37.6062111Z               "line": 154
2026-06-08T23:22:37.6062393Z             },
2026-06-08T23:22:37.6062674Z             {
2026-06-08T23:22:37.6063037Z               "path": "crates/spt/src/api/auth.rs",
2026-06-08T23:22:37.6063332Z               "line": 162
2026-06-08T23:22:37.6063614Z             },
2026-06-08T23:22:37.6063883Z             {
2026-06-08T23:22:37.6064253Z               "path": "crates/spt/src/api/auth.rs",
2026-06-08T23:22:37.6064663Z               "line": 170
2026-06-08T23:22:37.6064945Z             }
2026-06-08T23:22:37.6065226Z           ]
2026-06-08T23:22:37.6065502Z         }
2026-06-08T23:22:37.6065778Z       }
2026-06-08T23:22:37.6066055Z     },
2026-06-08T23:22:37.6066335Z     {
2026-06-08T23:22:37.6066696Z       "id": "REQ-HAZARD-PAIR-RATE-LIMIT",
2026-06-08T23:22:37.6069715Z       "title": "Subnet-global pairing rate limit: one active ceremony per subnet, shared attempt counter, exponential backoff — a public pre-trust relay + multiple seed-holders otherwise enables distributed SPAKE2 guessing (and ±1 TOTP window triples the valid-password space) (ADR-0005 #11)",
2026-06-08T23:22:37.6070054Z       "requiredStages": [
2026-06-08T23:22:37.6070335Z         "impl",
2026-06-08T23:22:37.6070626Z         "unit"
2026-06-08T23:22:37.6070907Z       ],
2026-06-08T23:22:37.6071193Z       "stages": {
2026-06-08T23:22:37.6071483Z         "doc": {
2026-06-08T23:22:37.6071798Z           "complete": false,
2026-06-08T23:22:37.6072127Z           "evidence": []
2026-06-08T23:22:37.6072409Z         },
2026-06-08T23:22:37.6072709Z         "impl": {
2026-06-08T23:22:37.6073019Z           "complete": true,
2026-06-08T23:22:37.6073315Z           "evidence": [
2026-06-08T23:22:37.6073601Z             {
2026-06-08T23:22:37.6074077Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-08T23:22:37.6074410Z               "line": 34
2026-06-08T23:22:37.6074693Z             }
2026-06-08T23:22:37.6074980Z           ]
2026-06-08T23:22:37.6075261Z         },
2026-06-08T23:22:37.6075548Z         "int": {
2026-06-08T23:22:37.6075858Z           "complete": false,
2026-06-08T23:22:37.6076164Z           "evidence": []
2026-06-08T23:22:37.6076449Z         },
2026-06-08T23:22:37.6076741Z         "unit": {
2026-06-08T23:22:37.6077148Z           "complete": true,
2026-06-08T23:22:37.6077456Z           "evidence": [
2026-06-08T23:22:37.6077738Z             {
2026-06-08T23:22:37.6078223Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-08T23:22:37.6078538Z               "line": 188
2026-06-08T23:22:37.6078829Z             },
2026-06-08T23:22:37.6079105Z             {
2026-06-08T23:22:37.6079576Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-08T23:22:37.6079884Z               "line": 200
2026-06-08T23:22:37.6080180Z             },
2026-06-08T23:22:37.6080466Z             {
2026-06-08T23:22:37.6080935Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-08T23:22:37.6081235Z               "line": 211
2026-06-08T23:22:37.6081521Z             },
2026-06-08T23:22:37.6081806Z             {
2026-06-08T23:22:37.6082274Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-08T23:22:37.6082574Z               "line": 253
2026-06-08T23:22:37.6082859Z             },
2026-06-08T23:22:37.6083140Z             {
2026-06-08T23:22:37.6083603Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-08T23:22:37.6083908Z               "line": 277
2026-06-08T23:22:37.6084190Z             },
2026-06-08T23:22:37.6084467Z             {
2026-06-08T23:22:37.6084923Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-08T23:22:37.6085230Z               "line": 300
2026-06-08T23:22:37.6085502Z             },
2026-06-08T23:22:37.6085798Z             {
2026-06-08T23:22:37.6086264Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-08T23:22:37.6086560Z               "line": 316
2026-06-08T23:22:37.6086837Z             }
2026-06-08T23:22:37.6087199Z           ]
2026-06-08T23:22:37.6087494Z         }
2026-06-08T23:22:37.6087769Z       }
2026-06-08T23:22:37.6088054Z     },
2026-06-08T23:22:37.6088336Z     {
2026-06-08T23:22:37.6088707Z       "id": "REQ-HAZARD-PAIR-SEED-ROTATION",
2026-06-08T23:22:37.6090516Z       "title": "Removing a node rotates the subnet seed (epoch bump) so an old node/old seed cannot rejoin; trust-store delete alone is NOT revocation because the seed is replicated to every trusted node (ADR-0005 #10)",
2026-06-08T23:22:37.6090951Z       "requiredStages": [
2026-06-08T23:22:37.6091246Z         "impl",
2026-06-08T23:22:37.6091528Z         "unit"
2026-06-08T23:22:37.6091809Z       ],
2026-06-08T23:22:37.6092105Z       "stages": {
2026-06-08T23:22:37.6092390Z         "doc": {
2026-06-08T23:22:37.6092825Z           "complete": false,
2026-06-08T23:22:37.6093119Z           "evidence": []
2026-06-08T23:22:37.6093400Z         },
2026-06-08T23:22:37.6093691Z         "impl": {
2026-06-08T23:22:37.6094001Z           "complete": true,
2026-06-08T23:22:37.6094301Z           "evidence": [
2026-06-08T23:22:37.6094573Z             {
2026-06-08T23:22:37.6094999Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-08T23:22:37.6095289Z               "line": 29
2026-06-08T23:22:37.6095578Z             },
2026-06-08T23:22:37.6095856Z             {
2026-06-08T23:22:37.6096248Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-08T23:22:37.6096558Z               "line": 154
2026-06-08T23:22:37.6096853Z             },
2026-06-08T23:22:37.6097236Z             {
2026-06-08T23:22:37.6097622Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-08T23:22:37.6097932Z               "line": 173
2026-06-08T23:22:37.6098230Z             },
2026-06-08T23:22:37.6098515Z             {
2026-06-08T23:22:37.6098916Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-08T23:22:37.6099216Z               "line": 200
2026-06-08T23:22:37.6099507Z             }
2026-06-08T23:22:37.6099789Z           ]
2026-06-08T23:22:37.6100078Z         },
2026-06-08T23:22:37.6100360Z         "int": {
2026-06-08T23:22:37.6100683Z           "complete": false,
2026-06-08T23:22:37.6100990Z           "evidence": []
2026-06-08T23:22:37.6101271Z         },
2026-06-08T23:22:37.6101567Z         "unit": {
2026-06-08T23:22:37.6101882Z           "complete": true,
2026-06-08T23:22:37.6102188Z           "evidence": [
2026-06-08T23:22:37.6102468Z             {
2026-06-08T23:22:37.6102855Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-08T23:22:37.6103169Z               "line": 276
2026-06-08T23:22:37.6103455Z             },
2026-06-08T23:22:37.6103736Z             {
2026-06-08T23:22:37.6104117Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-08T23:22:37.6104418Z               "line": 291
2026-06-08T23:22:37.6104718Z             },
2026-06-08T23:22:37.6105000Z             {
2026-06-08T23:22:37.6105390Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-08T23:22:37.6105695Z               "line": 310
2026-06-08T23:22:37.6105982Z             },
2026-06-08T23:22:37.6106271Z             {
2026-06-08T23:22:37.6106661Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-08T23:22:37.6107046Z               "line": 326
2026-06-08T23:22:37.6107328Z             },
2026-06-08T23:22:37.6107633Z             {
2026-06-08T23:22:37.6108024Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-08T23:22:37.6108329Z               "line": 385
2026-06-08T23:22:37.6108624Z             },
2026-06-08T23:22:37.6108908Z             {
2026-06-08T23:22:37.6109289Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-08T23:22:37.6109613Z               "line": 399
2026-06-08T23:22:37.6109899Z             },
2026-06-08T23:22:37.6110181Z             {
2026-06-08T23:22:37.6110576Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-08T23:22:37.6110882Z               "line": 410
2026-06-08T23:22:37.6111171Z             },
2026-06-08T23:22:37.6111460Z             {
2026-06-08T23:22:37.6111846Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-08T23:22:37.6112156Z               "line": 421
2026-06-08T23:22:37.6112438Z             }
2026-06-08T23:22:37.6112728Z           ]
2026-06-08T23:22:37.6113020Z         }
2026-06-08T23:22:37.6113306Z       }
2026-06-08T23:22:37.6113592Z     },
2026-06-08T23:22:37.6113870Z     {
2026-06-08T23:22:37.6114259Z       "id": "REQ-HAZARD-PAIR-TRANSCRIPT-BIND",
2026-06-08T23:22:37.6116308Z       "title": "Pairing transcript binds roles, both node pubkeys, subnet ID, seed epoch, TOTP time-step, and confirmation MACs — or unknown-key-share/reflection/wrong-subnet/replay pairing remain possible (ADR-0005 #12)",
2026-06-08T23:22:37.6116751Z       "requiredStages": [
2026-06-08T23:22:37.6117126Z         "impl",
2026-06-08T23:22:37.6117407Z         "unit"
2026-06-08T23:22:37.6117816Z       ],
2026-06-08T23:22:37.6118117Z       "stages": {
2026-06-08T23:22:37.6118409Z         "doc": {
2026-06-08T23:22:37.6118728Z           "complete": false,
2026-06-08T23:22:37.6119043Z           "evidence": []
2026-06-08T23:22:37.6119327Z         },
2026-06-08T23:22:37.6119620Z         "impl": {
2026-06-08T23:22:37.6119935Z           "complete": true,
2026-06-08T23:22:37.6120236Z           "evidence": [
2026-06-08T23:22:37.6120526Z             {
2026-06-08T23:22:37.6120966Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-08T23:22:37.6121257Z               "line": 27
2026-06-08T23:22:37.6121553Z             },
2026-06-08T23:22:37.6121865Z             {
2026-06-08T23:22:37.6122307Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-08T23:22:37.6122612Z               "line": 110
2026-06-08T23:22:37.6122898Z             },
2026-06-08T23:22:37.6123184Z             {
2026-06-08T23:22:37.6123622Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-08T23:22:37.6123937Z               "line": 153
2026-06-08T23:22:37.6124224Z             },
2026-06-08T23:22:37.6124515Z             {
2026-06-08T23:22:37.6124951Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-08T23:22:37.6125252Z               "line": 182
2026-06-08T23:22:37.6125539Z             },
2026-06-08T23:22:37.6125829Z             {
2026-06-08T23:22:37.6126320Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-08T23:22:37.6126616Z               "line": 31
2026-06-08T23:22:37.6126892Z             },
2026-06-08T23:22:37.6127263Z             {
2026-06-08T23:22:37.6127763Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-08T23:22:37.6128067Z               "line": 113
2026-06-08T23:22:37.6128353Z             },
2026-06-08T23:22:37.6128654Z             {
2026-06-08T23:22:37.6129135Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-08T23:22:37.6129444Z               "line": 138
2026-06-08T23:22:37.6129740Z             }
2026-06-08T23:22:37.6130037Z           ]
2026-06-08T23:22:37.6130329Z         },
2026-06-08T23:22:37.6130620Z         "int": {
2026-06-08T23:22:37.6130939Z           "complete": false,
2026-06-08T23:22:37.6131253Z           "evidence": []
2026-06-08T23:22:37.6131549Z         },
2026-06-08T23:22:37.6131846Z         "unit": {
2026-06-08T23:22:37.6132170Z           "complete": true,
2026-06-08T23:22:37.6132473Z           "evidence": [
2026-06-08T23:22:37.6132766Z             {
2026-06-08T23:22:37.6133215Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-08T23:22:37.6133520Z               "line": 261
2026-06-08T23:22:37.6133820Z             },
2026-06-08T23:22:37.6134102Z             {
2026-06-08T23:22:37.6134545Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-08T23:22:37.6134854Z               "line": 276
2026-06-08T23:22:37.6135140Z             },
2026-06-08T23:22:37.6135431Z             {
2026-06-08T23:22:37.6135878Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-08T23:22:37.6136184Z               "line": 293
2026-06-08T23:22:37.6136475Z             },
2026-06-08T23:22:37.6136766Z             {
2026-06-08T23:22:37.6137291Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-08T23:22:37.6137602Z               "line": 310
2026-06-08T23:22:37.6137895Z             },
2026-06-08T23:22:37.6138174Z             {
2026-06-08T23:22:37.6138613Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-08T23:22:37.6138919Z               "line": 327
2026-06-08T23:22:37.6139792Z             },
2026-06-08T23:22:37.6140433Z             {
2026-06-08T23:22:37.6141346Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-08T23:22:37.6142324Z               "line": 366
2026-06-08T23:22:37.6143038Z             },
2026-06-08T23:22:37.6143676Z             {
2026-06-08T23:22:37.6144504Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-08T23:22:37.6145677Z               "line": 179
2026-06-08T23:22:37.6146401Z             },
2026-06-08T23:22:37.6147122Z             {
2026-06-08T23:22:37.6147974Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-08T23:22:37.6149000Z               "line": 194
2026-06-08T23:22:37.6149718Z             },
2026-06-08T23:22:37.6150347Z             {
2026-06-08T23:22:37.6151177Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-08T23:22:37.6152212Z               "line": 204
2026-06-08T23:22:37.6152937Z             },
2026-06-08T23:22:37.6153636Z             {
2026-06-08T23:22:37.6154574Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-08T23:22:37.6155603Z               "line": 259
2026-06-08T23:22:37.6156313Z             },
2026-06-08T23:22:37.6157028Z             {
2026-06-08T23:22:37.6157862Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-08T23:22:37.6158887Z               "line": 269
2026-06-08T23:22:37.6159600Z             },
2026-06-08T23:22:37.6160234Z             {
2026-06-08T23:22:37.6161063Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-08T23:22:37.6162080Z               "line": 283
2026-06-08T23:22:37.6162776Z             }
2026-06-08T23:22:37.6163401Z           ]
2026-06-08T23:22:37.6164015Z         }
2026-06-08T23:22:37.6164609Z       }
2026-06-08T23:22:37.6165200Z     },
2026-06-08T23:22:37.6165793Z     {
2026-06-08T23:22:37.6166473Z       "id": "REQ-HAZARD-PARENT-PID-PREFER",
2026-06-08T23:22:37.6167770Z       "title": "Prefer stable parent PID / broker handle over ephemeral PID (2.1)",
2026-06-08T23:22:37.6169023Z       "requiredStages": [],
2026-06-08T23:22:37.6169769Z       "stages": {
2026-06-08T23:22:37.6170417Z         "doc": {
2026-06-08T23:22:37.6171089Z           "complete": false,
2026-06-08T23:22:37.6171844Z           "evidence": []
2026-06-08T23:22:37.6172560Z         },
2026-06-08T23:22:37.6173180Z         "impl": {
2026-06-08T23:22:37.6173866Z           "complete": false,
2026-06-08T23:22:37.6174628Z           "evidence": []
2026-06-08T23:22:37.6175332Z         },
2026-06-08T23:22:37.6175952Z         "int": {
2026-06-08T23:22:37.6176634Z           "complete": false,
2026-06-08T23:22:37.6177481Z           "evidence": []
2026-06-08T23:22:37.6178177Z         },
2026-06-08T23:22:37.6178792Z         "unit": {
2026-06-08T23:22:37.6179475Z           "complete": false,
2026-06-08T23:22:37.6180235Z           "evidence": []
2026-06-08T23:22:37.6180939Z         }
2026-06-08T23:22:37.6181521Z       }
2026-06-08T23:22:37.6182127Z     },
2026-06-08T23:22:37.6187551Z     {
2026-06-08T23:22:37.6188308Z       "id": "REQ-HAZARD-PSYCHE-OUTBOUND-PROXY",
2026-06-08T23:22:37.6191471Z       "title": "Psyche outbound captured + sanitized: the live-Psyche turn driver captures stdout (never Stdio::null), and the daemon strips/re-stamps Psyche-supplied from=/target and constrains routing (reply→__REPLY_TO__ sender, notify→own user/subnet) (7.3)",
2026-06-08T23:22:37.6194371Z       "requiredStages": [
2026-06-08T23:22:37.6195082Z         "impl",
2026-06-08T23:22:37.6195710Z         "unit"
2026-06-08T23:22:37.6196332Z       ],
2026-06-08T23:22:37.6196938Z       "stages": {
2026-06-08T23:22:37.6197678Z         "doc": {
2026-06-08T23:22:37.6198332Z           "complete": false,
2026-06-08T23:22:37.6199083Z           "evidence": []
2026-06-08T23:22:37.6199779Z         },
2026-06-08T23:22:37.6200394Z         "impl": {
2026-06-08T23:22:37.6201061Z           "complete": true,
2026-06-08T23:22:37.6201792Z           "evidence": [
2026-06-08T23:22:37.6202499Z             {
2026-06-08T23:22:37.6203257Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-08T23:22:37.6204373Z               "line": 26
2026-06-08T23:22:37.6205071Z             },
2026-06-08T23:22:37.6205695Z             {
2026-06-08T23:22:37.6206432Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-08T23:22:37.6207431Z               "line": 95
2026-06-08T23:22:37.6208156Z             },
2026-06-08T23:22:37.6208887Z             {
2026-06-08T23:22:37.6209643Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-08T23:22:37.6210569Z               "line": 166
2026-06-08T23:22:37.6211264Z             },
2026-06-08T23:22:37.6211882Z             {
2026-06-08T23:22:37.6212615Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-08T23:22:37.6213526Z               "line": 19
2026-06-08T23:22:37.6214221Z             },
2026-06-08T23:22:37.6214843Z             {
2026-06-08T23:22:37.6215568Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-08T23:22:37.6216465Z               "line": 50
2026-06-08T23:22:37.6217257Z             },
2026-06-08T23:22:37.6217916Z             {
2026-06-08T23:22:37.6218607Z               "path": "crates/spt-live/src/turn.rs",
2026-06-08T23:22:37.6219495Z               "line": 18
2026-06-08T23:22:37.6220185Z             },
2026-06-08T23:22:37.6220805Z             {
2026-06-08T23:22:37.6221505Z               "path": "crates/spt-live/src/turn.rs",
2026-06-08T23:22:37.6222401Z               "line": 71
2026-06-08T23:22:37.6223085Z             },
2026-06-08T23:22:37.6223714Z             {
2026-06-08T23:22:37.6224424Z               "path": "crates/spt-proto/src/event.rs",
2026-06-08T23:22:37.6225323Z               "line": 70
2026-06-08T23:22:37.6226005Z             }
2026-06-08T23:22:37.6226619Z           ]
2026-06-08T23:22:37.6227301Z         },
2026-06-08T23:22:37.6227914Z         "int": {
2026-06-08T23:22:37.6228576Z           "complete": false,
2026-06-08T23:22:37.6229314Z           "evidence": []
2026-06-08T23:22:37.6230002Z         },
2026-06-08T23:22:37.6230601Z         "unit": {
2026-06-08T23:22:37.6231264Z           "complete": true,
2026-06-08T23:22:37.6232000Z           "evidence": [
2026-06-08T23:22:37.6232681Z             {
2026-06-08T23:22:37.6233416Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-08T23:22:37.6234351Z               "line": 289
2026-06-08T23:22:37.6235051Z             },
2026-06-08T23:22:37.6235677Z             {
2026-06-08T23:22:37.6236412Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-08T23:22:37.6237415Z               "line": 308
2026-06-08T23:22:37.6238103Z             },
2026-06-08T23:22:37.6238722Z             {
2026-06-08T23:22:37.6239455Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-08T23:22:37.6240390Z               "line": 336
2026-06-08T23:22:37.6241090Z             },
2026-06-08T23:22:37.6241710Z             {
2026-06-08T23:22:37.6242434Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-08T23:22:37.6243344Z               "line": 399
2026-06-08T23:22:37.6244028Z             },
2026-06-08T23:22:37.6244648Z             {
2026-06-08T23:22:37.6245389Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-08T23:22:37.6246304Z               "line": 410
2026-06-08T23:22:37.6247068Z             },
2026-06-08T23:22:37.6247712Z             {
2026-06-08T23:22:37.6248445Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-08T23:22:37.6249391Z               "line": 441
2026-06-08T23:22:37.6250077Z             },
2026-06-08T23:22:37.6250702Z             {
2026-06-08T23:22:37.6251445Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-08T23:22:37.6252379Z               "line": 452
2026-06-08T23:22:37.6253092Z             },
2026-06-08T23:22:37.6253721Z             {
2026-06-08T23:22:37.6254456Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-08T23:22:37.6255381Z               "line": 77
2026-06-08T23:22:37.6256067Z             },
2026-06-08T23:22:37.6256700Z             {
2026-06-08T23:22:37.6257518Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-08T23:22:37.6258549Z               "line": 97
2026-06-08T23:22:37.6259238Z             },
2026-06-08T23:22:37.6259838Z             {
2026-06-08T23:22:37.6260566Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-08T23:22:37.6261478Z               "line": 112
2026-06-08T23:22:37.6262177Z             },
2026-06-08T23:22:37.6262920Z             {
2026-06-08T23:22:37.6263657Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-08T23:22:37.6264574Z               "line": 123
2026-06-08T23:22:37.6265269Z             },
2026-06-08T23:22:37.6265889Z             {
2026-06-08T23:22:37.6266608Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-08T23:22:37.6267592Z               "line": 130
2026-06-08T23:22:37.6268279Z             },
2026-06-08T23:22:37.6268912Z             {
2026-06-08T23:22:37.6269636Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-08T23:22:37.6270549Z               "line": 145
2026-06-08T23:22:37.6271241Z             },
2026-06-08T23:22:37.6271923Z             {
2026-06-08T23:22:37.6272623Z               "path": "crates/spt-live/src/turn.rs",
2026-06-08T23:22:37.6273519Z               "line": 115
2026-06-08T23:22:37.6274217Z             },
2026-06-08T23:22:37.6274841Z             {
2026-06-08T23:22:37.6275538Z               "path": "crates/spt-live/src/turn.rs",
2026-06-08T23:22:37.6276435Z               "line": 130
2026-06-08T23:22:37.6277355Z             },
2026-06-08T23:22:37.6278042Z             {
2026-06-08T23:22:37.6278758Z               "path": "crates/spt-proto/src/event.rs",
2026-06-08T23:22:37.6279669Z               "line": 336
2026-06-08T23:22:37.6280367Z             }
2026-06-08T23:22:37.6280991Z           ]
2026-06-08T23:22:37.6281606Z         }
2026-06-08T23:22:37.6282208Z       }
2026-06-08T23:22:37.6282803Z     },
2026-06-08T23:22:37.6283397Z     {
2026-06-08T23:22:37.6284079Z       "id": "REQ-HAZARD-REGISTRY-CONCURRENT",
2026-06-08T23:22:37.6285547Z       "title": "Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)",
2026-06-08T23:22:37.6287094Z       "requiredStages": [
2026-06-08T23:22:37.6287819Z         "impl",
2026-06-08T23:22:37.6288455Z         "unit"
2026-06-08T23:22:37.6289084Z       ],
2026-06-08T23:22:37.6289680Z       "stages": {
2026-06-08T23:22:37.6290314Z         "doc": {
2026-06-08T23:22:37.6290988Z           "complete": true,
2026-06-08T23:22:37.6291726Z           "evidence": [
2026-06-08T23:22:37.6292405Z             {
2026-06-08T23:22:37.6293102Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-08T23:22:37.6293962Z               "line": 137
2026-06-08T23:22:37.6294664Z             }
2026-06-08T23:22:37.6295279Z           ]
2026-06-08T23:22:37.6295879Z         },
2026-06-08T23:22:37.6296486Z         "impl": {
2026-06-08T23:22:37.6297226Z           "complete": true,
2026-06-08T23:22:37.6297970Z           "evidence": [
2026-06-08T23:22:37.6298646Z             {
2026-06-08T23:22:37.6299343Z               "path": "crates/spt-store/src/db.rs",
2026-06-08T23:22:37.6300226Z               "line": 29
2026-06-08T23:22:37.6300927Z             },
2026-06-08T23:22:37.6301548Z             {
2026-06-08T23:22:37.6302263Z               "path": "crates/spt-store/src/notif.rs",
2026-06-08T23:22:37.6303169Z               "line": 101
2026-06-08T23:22:37.6303871Z             },
2026-06-08T23:22:37.6304498Z             {
2026-06-08T23:22:37.6305239Z               "path": "crates/spt-store/src/registry.rs",
2026-06-08T23:22:37.6306154Z               "line": 30
2026-06-08T23:22:37.6306849Z             },
2026-06-08T23:22:37.6307548Z             {
2026-06-08T23:22:37.6308272Z               "path": "crates/spt-store/src/spool.rs",
2026-06-08T23:22:37.6309174Z               "line": 48
2026-06-08T23:22:37.6309866Z             }
2026-06-08T23:22:37.6310491Z           ]
2026-06-08T23:22:37.6311092Z         },
2026-06-08T23:22:37.6311703Z         "int": {
2026-06-08T23:22:37.6312347Z           "complete": false,
2026-06-08T23:22:37.6313095Z           "evidence": []
2026-06-08T23:22:37.6313792Z         },
2026-06-08T23:22:37.6314522Z         "unit": {
2026-06-08T23:22:37.6315198Z           "complete": true,
2026-06-08T23:22:37.6315937Z           "evidence": [
2026-06-08T23:22:37.6316618Z             {
2026-06-08T23:22:37.6317433Z               "path": "crates/spt-store/src/registry.rs",
2026-06-08T23:22:37.6318351Z               "line": 162
2026-06-08T23:22:37.6319156Z             }
2026-06-08T23:22:37.6319785Z           ]
2026-06-08T23:22:37.6320393Z         }
2026-06-08T23:22:37.6320994Z       }
2026-06-08T23:22:37.6321591Z     },
2026-06-08T23:22:37.6322182Z     {
2026-06-08T23:22:37.6322864Z       "id": "REQ-HAZARD-REGISTRY-DIR-CREATE",
2026-06-08T23:22:37.6324609Z       "title": "SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)",
2026-06-08T23:22:37.6326210Z       "requiredStages": [
2026-06-08T23:22:37.6326926Z         "doc",
2026-06-08T23:22:37.6327647Z         "impl",
2026-06-08T23:22:37.6328286Z         "unit"
2026-06-08T23:22:37.6328926Z       ],
2026-06-08T23:22:37.6329545Z       "stages": {
2026-06-08T23:22:37.6330190Z         "doc": {
2026-06-08T23:22:37.6330848Z           "complete": true,
2026-06-08T23:22:37.6331592Z           "evidence": [
2026-06-08T23:22:37.6332278Z             {
2026-06-08T23:22:37.6332978Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-08T23:22:37.6333878Z               "line": 149
2026-06-08T23:22:37.6334578Z             }
2026-06-08T23:22:37.6335194Z           ]
2026-06-08T23:22:37.6335803Z         },
2026-06-08T23:22:37.6336414Z         "impl": {
2026-06-08T23:22:37.6337147Z           "complete": true,
2026-06-08T23:22:37.6337940Z           "evidence": [
2026-06-08T23:22:37.6338624Z             {
2026-06-08T23:22:37.6339360Z               "path": "crates/spt-store/src/registry.rs",
2026-06-08T23:22:37.6340301Z               "line": 22
2026-06-08T23:22:37.6341000Z             }
2026-06-08T23:22:37.6341623Z           ]
2026-06-08T23:22:37.6342223Z         },
2026-06-08T23:22:37.6342843Z         "int": {
2026-06-08T23:22:37.6343519Z           "complete": false,
2026-06-08T23:22:37.6344271Z           "evidence": []
2026-06-08T23:22:37.6344972Z         },
2026-06-08T23:22:37.6345588Z         "unit": {
2026-06-08T23:22:37.6346269Z           "complete": true,
2026-06-08T23:22:37.6347111Z           "evidence": [
2026-06-08T23:22:37.6347823Z             {
2026-06-08T23:22:37.6348570Z               "path": "crates/spt-store/src/registry.rs",
2026-06-08T23:22:37.6349483Z               "line": 298
2026-06-08T23:22:37.6350179Z             }
2026-06-08T23:22:37.6350798Z           ]
2026-06-08T23:22:37.6351410Z         }
2026-06-08T23:22:37.6351998Z       }
2026-06-08T23:22:37.6352598Z     },
2026-06-08T23:22:37.6353204Z     {
2026-06-08T23:22:37.6353896Z       "id": "REQ-HAZARD-REGISTRY-EPOCH-LEASE",
2026-06-08T23:22:37.6355833Z       "title": "Registry merge ordered by per-node monotonic epoch, never wall-clock — a stale Active can't clobber a newer Offline (4.8, red-team #8)",
2026-06-08T23:22:37.6357749Z       "requiredStages": [
2026-06-08T23:22:37.6358483Z         "impl",
2026-06-08T23:22:37.6359126Z         "unit"
2026-06-08T23:22:37.6359753Z       ],
2026-06-08T23:22:37.6360372Z       "stages": {
2026-06-08T23:22:37.6361026Z         "doc": {
2026-06-08T23:22:37.6361688Z           "complete": true,
2026-06-08T23:22:37.6362428Z           "evidence": [
2026-06-08T23:22:37.6363134Z             {
2026-06-08T23:22:37.6363822Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-08T23:22:37.6364682Z               "line": 143
2026-06-08T23:22:37.6365377Z             }
2026-06-08T23:22:37.6366006Z           ]
2026-06-08T23:22:37.6366612Z         },
2026-06-08T23:22:37.6367304Z         "impl": {
2026-06-08T23:22:37.6367994Z           "complete": true,
2026-06-08T23:22:37.6368733Z           "evidence": [
2026-06-08T23:22:37.6369419Z             {
2026-06-08T23:22:37.6370167Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-08T23:22:37.6371104Z               "line": 492
2026-06-08T23:22:37.6371815Z             },
2026-06-08T23:22:37.6372572Z             {
2026-06-08T23:22:37.6373346Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.6374310Z               "line": 184
2026-06-08T23:22:37.6375007Z             },
2026-06-08T23:22:37.6375637Z             {
2026-06-08T23:22:37.6376380Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.6377545Z               "line": 282
2026-06-08T23:22:37.6378259Z             },
2026-06-08T23:22:37.6378888Z             {
2026-06-08T23:22:37.6379598Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-08T23:22:37.6380500Z               "line": 15
2026-06-08T23:22:37.6381202Z             }
2026-06-08T23:22:37.6381826Z           ]
2026-06-08T23:22:37.6382437Z         },
2026-06-08T23:22:37.6383043Z         "int": {
2026-06-08T23:22:37.6383722Z           "complete": false,
2026-06-08T23:22:37.6384469Z           "evidence": []
2026-06-08T23:22:37.6385184Z         },
2026-06-08T23:22:37.6385793Z         "unit": {
2026-06-08T23:22:37.6386478Z           "complete": true,
2026-06-08T23:22:37.6387298Z           "evidence": [
2026-06-08T23:22:37.6387990Z             {
2026-06-08T23:22:37.6388756Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.6389720Z               "line": 856
2026-06-08T23:22:37.6390421Z             },
2026-06-08T23:22:37.6391061Z             {
2026-06-08T23:22:37.6391828Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-08T23:22:37.6392777Z               "line": 88
2026-06-08T23:22:37.6393464Z             },
2026-06-08T23:22:37.6394090Z             {
2026-06-08T23:22:37.6394839Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.6395754Z               "line": 802
2026-06-08T23:22:37.6396459Z             },
2026-06-08T23:22:37.6397191Z             {
2026-06-08T23:22:37.6397953Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.6398883Z               "line": 821
2026-06-08T23:22:37.6399588Z             },
2026-06-08T23:22:37.6400217Z             {
2026-06-08T23:22:37.6400972Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-08T23:22:37.6401904Z               "line": 278
2026-06-08T23:22:37.6402613Z             },
2026-06-08T23:22:37.6403243Z             {
2026-06-08T23:22:37.6403962Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-08T23:22:37.6404880Z               "line": 77
2026-06-08T23:22:37.6405575Z             },
2026-06-08T23:22:37.6406205Z             {
2026-06-08T23:22:37.6406928Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-08T23:22:37.6407956Z               "line": 94
2026-06-08T23:22:37.6408653Z             },
2026-06-08T23:22:37.6409287Z             {
2026-06-08T23:22:37.6410006Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-08T23:22:37.6410917Z               "line": 114
2026-06-08T23:22:37.6411622Z             }
2026-06-08T23:22:37.6412241Z           ]
2026-06-08T23:22:37.6412854Z         }
2026-06-08T23:22:37.6413450Z       }
2026-06-08T23:22:37.6414051Z     },
2026-06-08T23:22:37.6414642Z     {
2026-06-08T23:22:37.6415334Z       "id": "REQ-HAZARD-REGISTRY-GHOST-ROWS",
2026-06-08T23:22:37.6419965Z       "title": "A dead node identity's registry rows must decay: only the per-(endpoint,node) epoch lease supersedes rows, so without eviction a vanished node's rows are immortal and poison bare-id resolution with phantom AcrossNodes ambiguity — evict rows whose author node has not been heard (admitted inbound feed) within the eviction window; own rows never decay; a revived node re-inserts from its durable epoch within one pump cadence (4.10)",
2026-06-08T23:22:37.6424382Z       "requiredStages": [
2026-06-08T23:22:37.6425107Z         "doc",
2026-06-08T23:22:37.6425742Z         "impl",
2026-06-08T23:22:37.6426381Z         "unit"
2026-06-08T23:22:37.6427077Z       ],
2026-06-08T23:22:37.6427687Z       "stages": {
2026-06-08T23:22:37.6428337Z         "doc": {
2026-06-08T23:22:37.6428995Z           "complete": true,
2026-06-08T23:22:37.6429863Z           "evidence": [
2026-06-08T23:22:37.6430544Z             {
2026-06-08T23:22:37.6431235Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-08T23:22:37.6432108Z               "line": 155
2026-06-08T23:22:37.6432794Z             }
2026-06-08T23:22:37.6433414Z           ]
2026-06-08T23:22:37.6434027Z         },
2026-06-08T23:22:37.6434770Z         "impl": {
2026-06-08T23:22:37.6435438Z           "complete": true,
2026-06-08T23:22:37.6436175Z           "evidence": [
2026-06-08T23:22:37.6436865Z             {
2026-06-08T23:22:37.6437720Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-08T23:22:37.6438642Z               "line": 351
2026-06-08T23:22:37.6439351Z             },
2026-06-08T23:22:37.6439981Z             {
2026-06-08T23:22:37.6440752Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.6445093Z               "line": 484
2026-06-08T23:22:37.6445826Z             },
2026-06-08T23:22:37.6446465Z             {
2026-06-08T23:22:37.6447359Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.6448336Z               "line": 491
2026-06-08T23:22:37.6449041Z             },
2026-06-08T23:22:37.6449659Z             {
2026-06-08T23:22:37.6450407Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.6451336Z               "line": 211
2026-06-08T23:22:37.6452050Z             }
2026-06-08T23:22:37.6452665Z           ]
2026-06-08T23:22:37.6453267Z         },
2026-06-08T23:22:37.6453862Z         "int": {
2026-06-08T23:22:37.6454529Z           "complete": false,
2026-06-08T23:22:37.6455285Z           "evidence": []
2026-06-08T23:22:37.6455977Z         },
2026-06-08T23:22:37.6456583Z         "unit": {
2026-06-08T23:22:37.6457306Z           "complete": true,
2026-06-08T23:22:37.6458033Z           "evidence": [
2026-06-08T23:22:37.6458724Z             {
2026-06-08T23:22:37.6459493Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.6460447Z               "line": 1484
2026-06-08T23:22:37.6461153Z             },
2026-06-08T23:22:37.6461773Z             {
2026-06-08T23:22:37.6462540Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.6463488Z               "line": 1542
2026-06-08T23:22:37.6464189Z             },
2026-06-08T23:22:37.6464804Z             {
2026-06-08T23:22:37.6465545Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.6466455Z               "line": 834
2026-06-08T23:22:37.6467238Z             }
2026-06-08T23:22:37.6467870Z           ]
2026-06-08T23:22:37.6468465Z         }
2026-06-08T23:22:37.6469046Z       }
2026-06-08T23:22:37.6469608Z     },
2026-06-08T23:22:37.6470185Z     {
2026-06-08T23:22:37.6470883Z       "id": "REQ-HAZARD-REGISTRY-STALE-CLEAN",
2026-06-08T23:22:37.6472128Z       "title": "Stale registry entries degrade to fallback, never hard-fail (4.3)",
2026-06-08T23:22:37.6473334Z       "requiredStages": [
2026-06-08T23:22:37.6474034Z         "impl",
2026-06-08T23:22:37.6474668Z         "unit"
2026-06-08T23:22:37.6475302Z       ],
2026-06-08T23:22:37.6475906Z       "stages": {
2026-06-08T23:22:37.6476539Z         "doc": {
2026-06-08T23:22:37.6477287Z           "complete": false,
2026-06-08T23:22:37.6478023Z           "evidence": []
2026-06-08T23:22:37.6478705Z         },
2026-06-08T23:22:37.6479306Z         "impl": {
2026-06-08T23:22:37.6479969Z           "complete": true,
2026-06-08T23:22:37.6480690Z           "evidence": [
2026-06-08T23:22:37.6481364Z             {
2026-06-08T23:22:37.6482054Z               "path": "crates/spt-store/src/proc.rs",
2026-06-08T23:22:37.6482936Z               "line": 15
2026-06-08T23:22:37.6483622Z             },
2026-06-08T23:22:37.6484228Z             {
2026-06-08T23:22:37.6484956Z               "path": "crates/spt-store/src/registry.rs",
2026-06-08T23:22:37.6485857Z               "line": 55
2026-06-08T23:22:37.6486537Z             },
2026-06-08T23:22:37.6487232Z             {
2026-06-08T23:22:37.6487978Z               "path": "crates/spt-store/src/registry.rs",
2026-06-08T23:22:37.6489122Z               "line": 66
2026-06-08T23:22:37.6489813Z             },
2026-06-08T23:22:37.6490428Z             {
2026-06-08T23:22:37.6491155Z               "path": "crates/spt-store/src/registry.rs",
2026-06-08T23:22:37.6492065Z               "line": 115
2026-06-08T23:22:37.6492763Z             },
2026-06-08T23:22:37.6493487Z             {
2026-06-08T23:22:37.6494215Z               "path": "crates/spt-store/src/registry.rs",
2026-06-08T23:22:37.6495127Z               "line": 138
2026-06-08T23:22:37.6495841Z             }
2026-06-08T23:22:37.6496451Z           ]
2026-06-08T23:22:37.6497135Z         },
2026-06-08T23:22:37.6497745Z         "int": {
2026-06-08T23:22:37.6498403Z           "complete": false,
2026-06-08T23:22:37.6499138Z           "evidence": []
2026-06-08T23:22:37.6499826Z         },
2026-06-08T23:22:37.6500431Z         "unit": {
2026-06-08T23:22:37.6501095Z           "complete": true,
2026-06-08T23:22:37.6501824Z           "evidence": [
2026-06-08T23:22:37.6502498Z             {
2026-06-08T23:22:37.6503217Z               "path": "crates/spt-store/src/proc.rs",
2026-06-08T23:22:37.6504104Z               "line": 149
2026-06-08T23:22:37.6504794Z             },
2026-06-08T23:22:37.6505414Z             {
2026-06-08T23:22:37.6506129Z               "path": "crates/spt-store/src/proc.rs",
2026-06-08T23:22:37.6507103Z               "line": 155
2026-06-08T23:22:37.6507795Z             },
2026-06-08T23:22:37.6508415Z             {
2026-06-08T23:22:37.6509112Z               "path": "crates/spt-store/src/proc.rs",
2026-06-08T23:22:37.6509992Z               "line": 169
2026-06-08T23:22:37.6510681Z             },
2026-06-08T23:22:37.6511302Z             {
2026-06-08T23:22:37.6511994Z               "path": "crates/spt-store/src/proc.rs",
2026-06-08T23:22:37.6512890Z               "line": 178
2026-06-08T23:22:37.6513568Z             },
2026-06-08T23:22:37.6514178Z             {
2026-06-08T23:22:37.6514903Z               "path": "crates/spt-store/src/registry.rs",
2026-06-08T23:22:37.6515813Z               "line": 195
2026-06-08T23:22:37.6516505Z             },
2026-06-08T23:22:37.6517200Z             {
2026-06-08T23:22:37.6517942Z               "path": "crates/spt-store/src/registry.rs",
2026-06-08T23:22:37.6518875Z               "line": 208
2026-06-08T23:22:37.6519561Z             },
2026-06-08T23:22:37.6520186Z             {
2026-06-08T23:22:37.6520908Z               "path": "crates/spt-store/src/registry.rs",
2026-06-08T23:22:37.6521809Z               "line": 271
2026-06-08T23:22:37.6522491Z             },
2026-06-08T23:22:37.6523099Z             {
2026-06-08T23:22:37.6523823Z               "path": "crates/spt-store/src/registry.rs",
2026-06-08T23:22:37.6524743Z               "line": 290
2026-06-08T23:22:37.6525431Z             },
2026-06-08T23:22:37.6526053Z             {
2026-06-08T23:22:37.6526778Z               "path": "crates/spt-store/src/registry.rs",
2026-06-08T23:22:37.6527779Z               "line": 319
2026-06-08T23:22:37.6528465Z             }
2026-06-08T23:22:37.6529064Z           ]
2026-06-08T23:22:37.6529688Z         }
2026-06-08T23:22:37.6530275Z       }
2026-06-08T23:22:37.6530552Z     },
2026-06-08T23:22:37.6530843Z     {
2026-06-08T23:22:37.6531213Z       "id": "REQ-HAZARD-RESTART-IDEMPOTENT",
2026-06-08T23:22:37.6532087Z       "title": "Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)",
2026-06-08T23:22:37.6532412Z       "requiredStages": [
2026-06-08T23:22:37.6532698Z         "impl",
2026-06-08T23:22:37.6532998Z         "unit",
2026-06-08T23:22:37.6533280Z         "int"
2026-06-08T23:22:37.6533560Z       ],
2026-06-08T23:22:37.6533845Z       "stages": {
2026-06-08T23:22:37.6534136Z         "doc": {
2026-06-08T23:22:37.6534445Z           "complete": false,
2026-06-08T23:22:37.6534760Z           "evidence": []
2026-06-08T23:22:37.6535042Z         },
2026-06-08T23:22:37.6535332Z         "impl": {
2026-06-08T23:22:37.6535647Z           "complete": true,
2026-06-08T23:22:37.6535943Z           "evidence": [
2026-06-08T23:22:37.6536228Z             {
2026-06-08T23:22:37.6536724Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-08T23:22:37.6537114Z               "line": 269
2026-06-08T23:22:37.6537419Z             },
2026-06-08T23:22:37.6537706Z             {
2026-06-08T23:22:37.6538101Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-08T23:22:37.6538502Z               "line": 578
2026-06-08T23:22:37.6538788Z             },
2026-06-08T23:22:37.6539067Z             {
2026-06-08T23:22:37.6539452Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-08T23:22:37.6539747Z               "line": 601
2026-06-08T23:22:37.6540028Z             },
2026-06-08T23:22:37.6540310Z             {
2026-06-08T23:22:37.6540686Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-08T23:22:37.6540987Z               "line": 625
2026-06-08T23:22:37.6541264Z             },
2026-06-08T23:22:37.6541592Z             {
2026-06-08T23:22:37.6541994Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-08T23:22:37.6542309Z               "line": 492
2026-06-08T23:22:37.6542595Z             },
2026-06-08T23:22:37.6542877Z             {
2026-06-08T23:22:37.6543278Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-08T23:22:37.6543587Z               "line": 580
2026-06-08T23:22:37.6543868Z             },
2026-06-08T23:22:37.6544163Z             {
2026-06-08T23:22:37.6544556Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-08T23:22:37.6544857Z               "line": 690
2026-06-08T23:22:37.6545142Z             },
2026-06-08T23:22:37.6545429Z             {
2026-06-08T23:22:37.6545825Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-08T23:22:37.6546130Z               "line": 738
2026-06-08T23:22:37.6546421Z             },
2026-06-08T23:22:37.6546706Z             {
2026-06-08T23:22:37.6547183Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-08T23:22:37.6547503Z               "line": 46
2026-06-08T23:22:37.6547789Z             },
2026-06-08T23:22:37.6548079Z             {
2026-06-08T23:22:37.6548481Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-08T23:22:37.6548786Z               "line": 167
2026-06-08T23:22:37.6549063Z             },
2026-06-08T23:22:37.6549348Z             {
2026-06-08T23:22:37.6549718Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-08T23:22:37.6550022Z               "line": 71
2026-06-08T23:22:37.6550307Z             },
2026-06-08T23:22:37.6550594Z             {
2026-06-08T23:22:37.6550980Z               "path": "crates/spt-store/src/spool.rs",
2026-06-08T23:22:37.6551281Z               "line": 134
2026-06-08T23:22:37.6551566Z             },
2026-06-08T23:22:37.6551852Z             {
2026-06-08T23:22:37.6552228Z               "path": "crates/spt-store/src/spool.rs",
2026-06-08T23:22:37.6552521Z               "line": 180
2026-06-08T23:22:37.6552798Z             }
2026-06-08T23:22:37.6553075Z           ]
2026-06-08T23:22:37.6553347Z         },
2026-06-08T23:22:37.6553633Z         "int": {
2026-06-08T23:22:37.6553948Z           "complete": true,
2026-06-08T23:22:37.6554248Z           "evidence": [
2026-06-08T23:22:37.6554535Z             {
2026-06-08T23:22:37.6554951Z               "path": "crates/spt-daemon/tests/idempotent.rs",
2026-06-08T23:22:37.6555251Z               "line": 27
2026-06-08T23:22:37.6555542Z             },
2026-06-08T23:22:37.6555856Z             {
2026-06-08T23:22:37.6556276Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-08T23:22:37.6556580Z               "line": 129
2026-06-08T23:22:37.6556867Z             },
2026-06-08T23:22:37.6557243Z             {
2026-06-08T23:22:37.6557667Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-08T23:22:37.6557967Z               "line": 200
2026-06-08T23:22:37.6558248Z             }
2026-06-08T23:22:37.6558530Z           ]
2026-06-08T23:22:37.6558821Z         },
2026-06-08T23:22:37.6559112Z         "unit": {
2026-06-08T23:22:37.6559417Z           "complete": true,
2026-06-08T23:22:37.6559732Z           "evidence": [
2026-06-08T23:22:37.6560131Z             {
2026-06-08T23:22:37.6560538Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-08T23:22:37.6560839Z               "line": 313
2026-06-08T23:22:37.6561129Z             },
2026-06-08T23:22:37.6561421Z             {
2026-06-08T23:22:37.6561817Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-08T23:22:37.6562233Z               "line": 345
2026-06-08T23:22:37.6562528Z             },
2026-06-08T23:22:37.6562817Z             {
2026-06-08T23:22:37.6563211Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-08T23:22:37.6563517Z               "line": 366
2026-06-08T23:22:37.6563812Z             },
2026-06-08T23:22:37.6564093Z             {
2026-06-08T23:22:37.6564498Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-08T23:22:37.6564804Z               "line": 254
2026-06-08T23:22:37.6565090Z             },
2026-06-08T23:22:37.6565374Z             {
2026-06-08T23:22:37.6565783Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-08T23:22:37.6566097Z               "line": 239
2026-06-08T23:22:37.6566384Z             },
2026-06-08T23:22:37.6566659Z             {
2026-06-08T23:22:37.6567122Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-08T23:22:37.6567432Z               "line": 230
2026-06-08T23:22:37.6567752Z             },
2026-06-08T23:22:37.6568038Z             {
2026-06-08T23:22:37.6568423Z               "path": "crates/spt-store/src/spool.rs",
2026-06-08T23:22:37.6568729Z               "line": 488
2026-06-08T23:22:37.6569019Z             },
2026-06-08T23:22:37.6569301Z             {
2026-06-08T23:22:37.6569686Z               "path": "crates/spt-store/src/spool.rs",
2026-06-08T23:22:37.6569996Z               "line": 518
2026-06-08T23:22:37.6570279Z             }
2026-06-08T23:22:37.6570570Z           ]
2026-06-08T23:22:37.6570849Z         }
2026-06-08T23:22:37.6571132Z       }
2026-06-08T23:22:37.6571413Z     },
2026-06-08T23:22:37.6571704Z     {
2026-06-08T23:22:37.6572072Z       "id": "REQ-HAZARD-SINGLE-PATH-SOURCE",
2026-06-08T23:22:37.6572701Z       "title": "Single path/registry source of truth; no layout ambiguity (6.1)",
2026-06-08T23:22:37.6573026Z       "requiredStages": [
2026-06-08T23:22:37.6573315Z         "impl",
2026-06-08T23:22:37.6573603Z         "unit"
2026-06-08T23:22:37.6573885Z       ],
2026-06-08T23:22:37.6574191Z       "stages": {
2026-06-08T23:22:37.6574481Z         "doc": {
2026-06-08T23:22:37.6574796Z           "complete": false,
2026-06-08T23:22:37.6575105Z           "evidence": []
2026-06-08T23:22:37.6575393Z         },
2026-06-08T23:22:37.6575684Z         "impl": {
2026-06-08T23:22:37.6575992Z           "complete": true,
2026-06-08T23:22:37.6576299Z           "evidence": [
2026-06-08T23:22:37.6576585Z             {
2026-06-08T23:22:37.6577081Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-08T23:22:37.6577391Z               "line": 56
2026-06-08T23:22:37.6577672Z             },
2026-06-08T23:22:37.6577949Z             {
2026-06-08T23:22:37.6578373Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-08T23:22:37.6578668Z               "line": 65
2026-06-08T23:22:37.6578950Z             },
2026-06-08T23:22:37.6579236Z             {
2026-06-08T23:22:37.6579674Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-08T23:22:37.6579979Z               "line": 72
2026-06-08T23:22:37.6580270Z             },
2026-06-08T23:22:37.6580556Z             {
2026-06-08T23:22:37.6580942Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.6581247Z               "line": 33
2026-06-08T23:22:37.6581531Z             },
2026-06-08T23:22:37.6581822Z             {
2026-06-08T23:22:37.6582203Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.6582513Z               "line": 65
2026-06-08T23:22:37.6582799Z             },
2026-06-08T23:22:37.6583090Z             {
2026-06-08T23:22:37.6583475Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.6583776Z               "line": 74
2026-06-08T23:22:37.6584168Z             },
2026-06-08T23:22:37.6584450Z             {
2026-06-08T23:22:37.6584841Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.6585136Z               "line": 83
2026-06-08T23:22:37.6585428Z             },
2026-06-08T23:22:37.6585713Z             {
2026-06-08T23:22:37.6586196Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.6586499Z               "line": 92
2026-06-08T23:22:37.6586787Z             },
2026-06-08T23:22:37.6587165Z             {
2026-06-08T23:22:37.6587547Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.6587857Z               "line": 101
2026-06-08T23:22:37.6588143Z             },
2026-06-08T23:22:37.6588429Z             {
2026-06-08T23:22:37.6588816Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.6589112Z               "line": 112
2026-06-08T23:22:37.6589400Z             },
2026-06-08T23:22:37.6589681Z             {
2026-06-08T23:22:37.6590073Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.6590369Z               "line": 120
2026-06-08T23:22:37.6590659Z             },
2026-06-08T23:22:37.6590935Z             {
2026-06-08T23:22:37.6591308Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.6591609Z               "line": 129
2026-06-08T23:22:37.6591902Z             },
2026-06-08T23:22:37.6592190Z             {
2026-06-08T23:22:37.6592572Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.6592872Z               "line": 138
2026-06-08T23:22:37.6593158Z             },
2026-06-08T23:22:37.6593440Z             {
2026-06-08T23:22:37.6593821Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.6594126Z               "line": 149
2026-06-08T23:22:37.6594416Z             },
2026-06-08T23:22:37.6594701Z             {
2026-06-08T23:22:37.6595081Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.6595381Z               "line": 157
2026-06-08T23:22:37.6595673Z             },
2026-06-08T23:22:37.6595955Z             {
2026-06-08T23:22:37.6596336Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.6596636Z               "line": 166
2026-06-08T23:22:37.6596922Z             },
2026-06-08T23:22:37.6597276Z             {
2026-06-08T23:22:37.6597672Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.6597972Z               "line": 175
2026-06-08T23:22:37.6598273Z             },
2026-06-08T23:22:37.6598559Z             {
2026-06-08T23:22:37.6598941Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.6599246Z               "line": 184
2026-06-08T23:22:37.6599532Z             },
2026-06-08T23:22:37.6599817Z             {
2026-06-08T23:22:37.6600194Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.6600503Z               "line": 196
2026-06-08T23:22:37.6600789Z             },
2026-06-08T23:22:37.6601104Z             {
2026-06-08T23:22:37.6601491Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.6601796Z               "line": 203
2026-06-08T23:22:37.6602086Z             },
2026-06-08T23:22:37.6602372Z             {
2026-06-08T23:22:37.6602755Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.6603056Z               "line": 212
2026-06-08T23:22:37.6603337Z             },
2026-06-08T23:22:37.6603619Z             {
2026-06-08T23:22:37.6603995Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.6604291Z               "line": 219
2026-06-08T23:22:37.6604577Z             },
2026-06-08T23:22:37.6604863Z             {
2026-06-08T23:22:37.6605237Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.6605533Z               "line": 286
2026-06-08T23:22:37.6605824Z             },
2026-06-08T23:22:37.6606105Z             {
2026-06-08T23:22:37.6606486Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.6606791Z               "line": 298
2026-06-08T23:22:37.6607273Z             },
2026-06-08T23:22:37.6607600Z             {
2026-06-08T23:22:37.6607989Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.6608295Z               "line": 385
2026-06-08T23:22:37.6608581Z             }
2026-06-08T23:22:37.6608862Z           ]
2026-06-08T23:22:37.6609147Z         },
2026-06-08T23:22:37.6609540Z         "int": {
2026-06-08T23:22:37.6609854Z           "complete": false,
2026-06-08T23:22:37.6610199Z           "evidence": []
2026-06-08T23:22:37.6610481Z         },
2026-06-08T23:22:37.6610772Z         "unit": {
2026-06-08T23:22:37.6611087Z           "complete": true,
2026-06-08T23:22:37.6611392Z           "evidence": [
2026-06-08T23:22:37.6611683Z             {
2026-06-08T23:22:37.6612070Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.6612375Z               "line": 467
2026-06-08T23:22:37.6612661Z             },
2026-06-08T23:22:37.6612946Z             {
2026-06-08T23:22:37.6613330Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.6613644Z               "line": 508
2026-06-08T23:22:37.6613930Z             },
2026-06-08T23:22:37.6614217Z             {
2026-06-08T23:22:37.6614608Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.6614913Z               "line": 521
2026-06-08T23:22:37.6615195Z             },
2026-06-08T23:22:37.6615489Z             {
2026-06-08T23:22:37.6615877Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.6616178Z               "line": 607
2026-06-08T23:22:37.6616469Z             }
2026-06-08T23:22:37.6616751Z           ]
2026-06-08T23:22:37.6617122Z         }
2026-06-08T23:22:37.6617413Z       }
2026-06-08T23:22:37.6617699Z     },
2026-06-08T23:22:37.6617976Z     {
2026-06-08T23:22:37.6618326Z       "id": "REQ-HAZARD-SOFT-CLEANUP",
2026-06-08T23:22:37.6618984Z       "title": "Soft-cleanup preserves state, removes only the ready marker (6.2)",
2026-06-08T23:22:37.6619303Z       "requiredStages": [
2026-06-08T23:22:37.6619599Z         "impl",
2026-06-08T23:22:37.6619890Z         "unit"
2026-06-08T23:22:37.6620181Z       ],
2026-06-08T23:22:37.6620472Z       "stages": {
2026-06-08T23:22:37.6620759Z         "doc": {
2026-06-08T23:22:37.6621071Z           "complete": false,
2026-06-08T23:22:37.6621371Z           "evidence": []
2026-06-08T23:22:37.6621657Z         },
2026-06-08T23:22:37.6621957Z         "impl": {
2026-06-08T23:22:37.6622277Z           "complete": true,
2026-06-08T23:22:37.6622577Z           "evidence": [
2026-06-08T23:22:37.6622864Z             {
2026-06-08T23:22:37.6623245Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-08T23:22:37.6623544Z               "line": 143
2026-06-08T23:22:37.6623828Z             },
2026-06-08T23:22:37.6624115Z             {
2026-06-08T23:22:37.6624510Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-08T23:22:37.6624820Z               "line": 148
2026-06-08T23:22:37.6625106Z             }
2026-06-08T23:22:37.6625397Z           ]
2026-06-08T23:22:37.6625678Z         },
2026-06-08T23:22:37.6625970Z         "int": {
2026-06-08T23:22:37.6626283Z           "complete": false,
2026-06-08T23:22:37.6626586Z           "evidence": []
2026-06-08T23:22:37.6626868Z         },
2026-06-08T23:22:37.6627244Z         "unit": {
2026-06-08T23:22:37.6627568Z           "complete": true,
2026-06-08T23:22:37.6627874Z           "evidence": [
2026-06-08T23:22:37.6628161Z             {
2026-06-08T23:22:37.6628527Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-08T23:22:37.6628830Z               "line": 264
2026-06-08T23:22:37.6629115Z             },
2026-06-08T23:22:37.6629405Z             {
2026-06-08T23:22:37.6629801Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-08T23:22:37.6630097Z               "line": 544
2026-06-08T23:22:37.6630389Z             },
2026-06-08T23:22:37.6630670Z             {
2026-06-08T23:22:37.6631065Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-08T23:22:37.6631366Z               "line": 557
2026-06-08T23:22:37.6631655Z             }
2026-06-08T23:22:37.6632042Z           ]
2026-06-08T23:22:37.6632318Z         }
2026-06-08T23:22:37.6632600Z       }
2026-06-08T23:22:37.6632871Z     },
2026-06-08T23:22:37.6633152Z     {
2026-06-08T23:22:37.6633500Z       "id": "REQ-HAZARD-STALE-INDEX-LOCK",
2026-06-08T23:22:37.6633935Z       "title": "Sweep stale lockfiles on daemon boot (1.3)",
2026-06-08T23:22:37.6634346Z       "requiredStages": [
2026-06-08T23:22:37.6634623Z         "impl",
2026-06-08T23:22:37.6634909Z         "unit"
2026-06-08T23:22:37.6635176Z       ],
2026-06-08T23:22:37.6635467Z       "stages": {
2026-06-08T23:22:37.6635757Z         "doc": {
2026-06-08T23:22:37.6636067Z           "complete": false,
2026-06-08T23:22:37.6636363Z           "evidence": []
2026-06-08T23:22:37.6636638Z         },
2026-06-08T23:22:37.6636932Z         "impl": {
2026-06-08T23:22:37.6637327Z           "complete": true,
2026-06-08T23:22:37.6637617Z           "evidence": [
2026-06-08T23:22:37.6637900Z             {
2026-06-08T23:22:37.6638305Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-08T23:22:37.6638620Z               "line": 114
2026-06-08T23:22:37.6638900Z             },
2026-06-08T23:22:37.6639196Z             {
2026-06-08T23:22:37.6639612Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-08T23:22:37.6639917Z               "line": 481
2026-06-08T23:22:37.6640209Z             }
2026-06-08T23:22:37.6640494Z           ]
2026-06-08T23:22:37.6640781Z         },
2026-06-08T23:22:37.6641067Z         "int": {
2026-06-08T23:22:37.6641381Z           "complete": false,
2026-06-08T23:22:37.6641681Z           "evidence": []
2026-06-08T23:22:37.6641969Z         },
2026-06-08T23:22:37.6642259Z         "unit": {
2026-06-08T23:22:37.6642569Z           "complete": true,
2026-06-08T23:22:37.6642870Z           "evidence": [
2026-06-08T23:22:37.6643155Z             {
2026-06-08T23:22:37.6643570Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-08T23:22:37.6643870Z               "line": 515
2026-06-08T23:22:37.6644162Z             }
2026-06-08T23:22:37.6644453Z           ]
2026-06-08T23:22:37.6644732Z         }
2026-06-08T23:22:37.6645019Z       }
2026-06-08T23:22:37.6645301Z     },
2026-06-08T23:22:37.6645583Z     {
2026-06-08T23:22:37.6645974Z       "id": "REQ-HAZARD-STALE-SIGNOFF-SENTINEL",
2026-06-08T23:22:37.6646517Z       "title": "Stale signoff sentinel does not kill a fresh start (3.2)",
2026-06-08T23:22:37.6646841Z       "requiredStages": [
2026-06-08T23:22:37.6647222Z         "impl",
2026-06-08T23:22:37.6647544Z         "unit"
2026-06-08T23:22:37.6647826Z       ],
2026-06-08T23:22:37.6648121Z       "stages": {
2026-06-08T23:22:37.6648402Z         "doc": {
2026-06-08T23:22:37.6648717Z           "complete": false,
2026-06-08T23:22:37.6649018Z           "evidence": []
2026-06-08T23:22:37.6649305Z         },
2026-06-08T23:22:37.6649615Z         "impl": {
2026-06-08T23:22:37.6649922Z           "complete": true,
2026-06-08T23:22:37.6650216Z           "evidence": [
2026-06-08T23:22:37.6650517Z             {
2026-06-08T23:22:37.6650936Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-08T23:22:37.6651242Z               "line": 459
2026-06-08T23:22:37.6651524Z             },
2026-06-08T23:22:37.6651809Z             {
2026-06-08T23:22:37.6652191Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-08T23:22:37.6652501Z               "line": 28
2026-06-08T23:22:37.6652785Z             }
2026-06-08T23:22:37.6653071Z           ]
2026-06-08T23:22:37.6653357Z         },
2026-06-08T23:22:37.6653643Z         "int": {
2026-06-08T23:22:37.6653958Z           "complete": false,
2026-06-08T23:22:37.6654258Z           "evidence": []
2026-06-08T23:22:37.6654549Z         },
2026-06-08T23:22:37.6654835Z         "unit": {
2026-06-08T23:22:37.6655144Z           "complete": true,
2026-06-08T23:22:37.6655452Z           "evidence": [
2026-06-08T23:22:37.6655734Z             {
2026-06-08T23:22:37.6656124Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-08T23:22:37.6656429Z               "line": 229
2026-06-08T23:22:37.6656820Z             }
2026-06-08T23:22:37.6657173Z           ]
2026-06-08T23:22:37.6657464Z         }
2026-06-08T23:22:37.6657745Z       }
2026-06-08T23:22:37.6658028Z     },
2026-06-08T23:22:37.6658310Z     {
2026-06-08T23:22:37.6658663Z       "id": "REQ-HAZARD-STDIN-SESSION-ID",
2026-06-08T23:22:37.6659240Z       "title": "Stdin session_id precedence over env (2.2)",
2026-06-08T23:22:37.6659559Z       "requiredStages": [],
2026-06-08T23:22:37.6659855Z       "stages": {
2026-06-08T23:22:37.6660142Z         "doc": {
2026-06-08T23:22:37.6660459Z           "complete": false,
2026-06-08T23:22:37.6660767Z           "evidence": []
2026-06-08T23:22:37.6661047Z         },
2026-06-08T23:22:37.6661343Z         "impl": {
2026-06-08T23:22:37.6661658Z           "complete": false,
2026-06-08T23:22:37.6661958Z           "evidence": []
2026-06-08T23:22:37.6662249Z         },
2026-06-08T23:22:37.6662530Z         "int": {
2026-06-08T23:22:37.6662854Z           "complete": false,
2026-06-08T23:22:37.6663169Z           "evidence": []
2026-06-08T23:22:37.6666450Z         },
2026-06-08T23:22:37.6666775Z         "unit": {
2026-06-08T23:22:37.6667200Z           "complete": false,
2026-06-08T23:22:37.6667534Z           "evidence": []
2026-06-08T23:22:37.6667816Z         }
2026-06-08T23:22:37.6668097Z       }
2026-06-08T23:22:37.6668390Z     },
2026-06-08T23:22:37.6668669Z     {
2026-06-08T23:22:37.6669041Z       "id": "REQ-HAZARD-SUBPROCESS-TIMEOUT",
2026-06-08T23:22:37.6669537Z       "title": "Every harness/git subprocess has a timeout (5.3)",
2026-06-08T23:22:37.6669857Z       "requiredStages": [
2026-06-08T23:22:37.6670143Z         "impl",
2026-06-08T23:22:37.6670434Z         "unit"
2026-06-08T23:22:37.6670712Z       ],
2026-06-08T23:22:37.6671000Z       "stages": {
2026-06-08T23:22:37.6671288Z         "doc": {
2026-06-08T23:22:37.6671603Z           "complete": false,
2026-06-08T23:22:37.6671898Z           "evidence": []
2026-06-08T23:22:37.6672175Z         },
2026-06-08T23:22:37.6672466Z         "impl": {
2026-06-08T23:22:37.6672781Z           "complete": true,
2026-06-08T23:22:37.6673072Z           "evidence": [
2026-06-08T23:22:37.6673344Z             {
2026-06-08T23:22:37.6673720Z               "path": "crates/spt-live/src/turn.rs",
2026-06-08T23:22:37.6674011Z               "line": 19
2026-06-08T23:22:37.6674287Z             },
2026-06-08T23:22:37.6674573Z             {
2026-06-08T23:22:37.6674968Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-08T23:22:37.6675269Z               "line": 347
2026-06-08T23:22:37.6675551Z             },
2026-06-08T23:22:37.6675833Z             {
2026-06-08T23:22:37.6676246Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-08T23:22:37.6676545Z               "line": 383
2026-06-08T23:22:37.6676835Z             },
2026-06-08T23:22:37.6677192Z             {
2026-06-08T23:22:37.6677583Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-08T23:22:37.6677884Z               "line": 15
2026-06-08T23:22:37.6678164Z             },
2026-06-08T23:22:37.6678461Z             {
2026-06-08T23:22:37.6678841Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-08T23:22:37.6679139Z               "line": 48
2026-06-08T23:22:37.6679425Z             },
2026-06-08T23:22:37.6679707Z             {
2026-06-08T23:22:37.6680088Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-08T23:22:37.6680398Z               "line": 119
2026-06-08T23:22:37.6680684Z             },
2026-06-08T23:22:37.6680967Z             {
2026-06-08T23:22:37.6681314Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.6681613Z               "line": 2429
2026-06-08T23:22:37.6681896Z             }
2026-06-08T23:22:37.6682178Z           ]
2026-06-08T23:22:37.6682458Z         },
2026-06-08T23:22:37.6682745Z         "int": {
2026-06-08T23:22:37.6683050Z           "complete": false,
2026-06-08T23:22:37.6683355Z           "evidence": []
2026-06-08T23:22:37.6683637Z         },
2026-06-08T23:22:37.6683922Z         "unit": {
2026-06-08T23:22:37.6684229Z           "complete": true,
2026-06-08T23:22:37.6684665Z           "evidence": [
2026-06-08T23:22:37.6684952Z             {
2026-06-08T23:22:37.6685357Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-08T23:22:37.6685657Z               "line": 496
2026-06-08T23:22:37.6685944Z             },
2026-06-08T23:22:37.6686345Z             {
2026-06-08T23:22:37.6686727Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-08T23:22:37.6687119Z               "line": 165
2026-06-08T23:22:37.6687405Z             },
2026-06-08T23:22:37.6687682Z             {
2026-06-08T23:22:37.6688072Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-08T23:22:37.6688387Z               "line": 175
2026-06-08T23:22:37.6688673Z             }
2026-06-08T23:22:37.6688950Z           ]
2026-06-08T23:22:37.6689241Z         }
2026-06-08T23:22:37.6689519Z       }
2026-06-08T23:22:37.6689799Z     },
2026-06-08T23:22:37.6690075Z     {
2026-06-08T23:22:37.6690433Z       "id": "REQ-HAZARD-SUDO-SECURE-PATH",
2026-06-08T23:22:37.6693063Z       "title": "Elevation guidance on Unix names the binary's ABSOLUTE path under sudo (a user-local install ~/.local/bin · ~/.cargo/bin is not on sudo's secure_path, so bare `sudo spt` dies 'command not found'); gated commands auto-elevate on an interactive TTY, else print the runnable hint (5.10)",
2026-06-08T23:22:37.6693406Z       "requiredStages": [
2026-06-08T23:22:37.6693692Z         "impl",
2026-06-08T23:22:37.6693982Z         "unit"
2026-06-08T23:22:37.6694259Z       ],
2026-06-08T23:22:37.6694554Z       "stages": {
2026-06-08T23:22:37.6694849Z         "doc": {
2026-06-08T23:22:37.6695169Z           "complete": false,
2026-06-08T23:22:37.6695479Z           "evidence": []
2026-06-08T23:22:37.6695756Z         },
2026-06-08T23:22:37.6696046Z         "impl": {
2026-06-08T23:22:37.6696357Z           "complete": true,
2026-06-08T23:22:37.6696657Z           "evidence": [
2026-06-08T23:22:37.6697066Z             {
2026-06-08T23:22:37.6697419Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.6697755Z               "line": 2187
2026-06-08T23:22:37.6698041Z             },
2026-06-08T23:22:37.6698322Z             {
2026-06-08T23:22:37.6698689Z               "path": "crates/spt/src/elevation.rs",
2026-06-08T23:22:37.6698995Z               "line": 103
2026-06-08T23:22:37.6699266Z             },
2026-06-08T23:22:37.6699562Z             {
2026-06-08T23:22:37.6699938Z               "path": "crates/spt/src/elevation.rs",
2026-06-08T23:22:37.6700237Z               "line": 135
2026-06-08T23:22:37.6700518Z             }
2026-06-08T23:22:37.6700804Z           ]
2026-06-08T23:22:37.6701109Z         },
2026-06-08T23:22:37.6701395Z         "int": {
2026-06-08T23:22:37.6701705Z           "complete": false,
2026-06-08T23:22:37.6702009Z           "evidence": []
2026-06-08T23:22:37.6702295Z         },
2026-06-08T23:22:37.6702585Z         "unit": {
2026-06-08T23:22:37.6702897Z           "complete": true,
2026-06-08T23:22:37.6703202Z           "evidence": [
2026-06-08T23:22:37.6703489Z             {
2026-06-08T23:22:37.6703870Z               "path": "crates/spt/src/elevation.rs",
2026-06-08T23:22:37.6704170Z               "line": 258
2026-06-08T23:22:37.6704457Z             },
2026-06-08T23:22:37.6704742Z             {
2026-06-08T23:22:37.6705109Z               "path": "crates/spt/src/elevation.rs",
2026-06-08T23:22:37.6705419Z               "line": 283
2026-06-08T23:22:37.6705701Z             },
2026-06-08T23:22:37.6705992Z             {
2026-06-08T23:22:37.6706368Z               "path": "crates/spt/src/elevation.rs",
2026-06-08T23:22:37.6706669Z               "line": 296
2026-06-08T23:22:37.6707040Z             },
2026-06-08T23:22:37.6707321Z             {
2026-06-08T23:22:37.6707703Z               "path": "crates/spt/src/elevation.rs",
2026-06-08T23:22:37.6708007Z               "line": 308
2026-06-08T23:22:37.6708291Z             }
2026-06-08T23:22:37.6708578Z           ]
2026-06-08T23:22:37.6708859Z         }
2026-06-08T23:22:37.6709140Z       }
2026-06-08T23:22:37.6709422Z     },
2026-06-08T23:22:37.6709826Z     {
2026-06-08T23:22:37.6710179Z       "id": "REQ-HAZARD-UNC-PATH-STRIP",
2026-06-08T23:22:37.6710693Z       "title": "Strip Windows UNC prefix on serialized paths (5.4)",
2026-06-08T23:22:37.6711015Z       "requiredStages": [
2026-06-08T23:22:37.6711311Z         "impl",
2026-06-08T23:22:37.6711602Z         "unit"
2026-06-08T23:22:37.6711984Z       ],
2026-06-08T23:22:37.6712280Z       "stages": {
2026-06-08T23:22:37.6712570Z         "doc": {
2026-06-08T23:22:37.6712885Z           "complete": false,
2026-06-08T23:22:37.6713193Z           "evidence": []
2026-06-08T23:22:37.6713476Z         },
2026-06-08T23:22:37.6713767Z         "impl": {
2026-06-08T23:22:37.6714077Z           "complete": true,
2026-06-08T23:22:37.6714378Z           "evidence": [
2026-06-08T23:22:37.6714669Z             {
2026-06-08T23:22:37.6715059Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-08T23:22:37.6715360Z               "line": 35
2026-06-08T23:22:37.6715645Z             }
2026-06-08T23:22:37.6715937Z           ]
2026-06-08T23:22:37.6716213Z         },
2026-06-08T23:22:37.6716500Z         "int": {
2026-06-08T23:22:37.6716814Z           "complete": false,
2026-06-08T23:22:37.6717204Z           "evidence": []
2026-06-08T23:22:37.6717491Z         },
2026-06-08T23:22:37.6717778Z         "unit": {
2026-06-08T23:22:37.6718098Z           "complete": true,
2026-06-08T23:22:37.6718398Z           "evidence": [
2026-06-08T23:22:37.6718682Z             {
2026-06-08T23:22:37.6719066Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-08T23:22:37.6719367Z               "line": 220
2026-06-08T23:22:37.6719658Z             }
2026-06-08T23:22:37.6719939Z           ]
2026-06-08T23:22:37.6720219Z         }
2026-06-08T23:22:37.6720496Z       }
2026-06-08T23:22:37.6720768Z     },
2026-06-08T23:22:37.6721039Z     {
2026-06-08T23:22:37.6721394Z       "id": "REQ-HAZARD-UPDATE-ROLLBACK",
2026-06-08T23:22:37.6722248Z       "title": "Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)",
2026-06-08T23:22:37.6722568Z       "requiredStages": [
2026-06-08T23:22:37.6722849Z         "impl",
2026-06-08T23:22:37.6723135Z         "unit"
2026-06-08T23:22:37.6723415Z       ],
2026-06-08T23:22:37.6723701Z       "stages": {
2026-06-08T23:22:37.6723990Z         "doc": {
2026-06-08T23:22:37.6724304Z           "complete": false,
2026-06-08T23:22:37.6724605Z           "evidence": []
2026-06-08T23:22:37.6724886Z         },
2026-06-08T23:22:37.6725163Z         "impl": {
2026-06-08T23:22:37.6725473Z           "complete": true,
2026-06-08T23:22:37.6725764Z           "evidence": [
2026-06-08T23:22:37.6726051Z             {
2026-06-08T23:22:37.6726465Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-08T23:22:37.6726764Z               "line": 398
2026-06-08T23:22:37.6727132Z             },
2026-06-08T23:22:37.6727408Z             {
2026-06-08T23:22:37.6727799Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.6728089Z               "line": 396
2026-06-08T23:22:37.6728385Z             },
2026-06-08T23:22:37.6728667Z             {
2026-06-08T23:22:37.6729061Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-08T23:22:37.6729370Z               "line": 156
2026-06-08T23:22:37.6729650Z             }
2026-06-08T23:22:37.6729941Z           ]
2026-06-08T23:22:37.6730223Z         },
2026-06-08T23:22:37.6730523Z         "int": {
2026-06-08T23:22:37.6730838Z           "complete": false,
2026-06-08T23:22:37.6731138Z           "evidence": []
2026-06-08T23:22:37.6731424Z         },
2026-06-08T23:22:37.6731709Z         "unit": {
2026-06-08T23:22:37.6732016Z           "complete": true,
2026-06-08T23:22:37.6732321Z           "evidence": [
2026-06-08T23:22:37.6732603Z             {
2026-06-08T23:22:37.6733003Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.6733298Z               "line": 797
2026-06-08T23:22:37.6733589Z             },
2026-06-08T23:22:37.6733880Z             {
2026-06-08T23:22:37.6734275Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.6734688Z               "line": 811
2026-06-08T23:22:37.6734974Z             },
2026-06-08T23:22:37.6735264Z             {
2026-06-08T23:22:37.6735662Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.6735967Z               "line": 830
2026-06-08T23:22:37.6736343Z             },
2026-06-08T23:22:37.6736630Z             {
2026-06-08T23:22:37.6737100Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.6737410Z               "line": 847
2026-06-08T23:22:37.6737706Z             },
2026-06-08T23:22:37.6737987Z             {
2026-06-08T23:22:37.6738411Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-08T23:22:37.6738716Z               "line": 439
2026-06-08T23:22:37.6738997Z             }
2026-06-08T23:22:37.6739274Z           ]
2026-06-08T23:22:37.6739542Z         }
2026-06-08T23:22:37.6739831Z       }
2026-06-08T23:22:37.6740105Z     },
2026-06-08T23:22:37.6740386Z     {
2026-06-08T23:22:37.6740744Z       "id": "REQ-HAZARD-WAN-ORIGIN-AUTH",
2026-06-08T23:22:37.6743172Z       "title": "WAN-inbound origin is transport truth, never payload: the access gate's subject (ADR-0009 origin-node whitelist) is the QUIC handshake-proven remote node id from the broker's conn/stream table — a forged origin/node field inside record bytes is inert (7.5)",
2026-06-08T23:22:37.6743515Z       "requiredStages": [
2026-06-08T23:22:37.6743802Z         "doc",
2026-06-08T23:22:37.6744088Z         "impl",
2026-06-08T23:22:37.6744379Z         "unit"
2026-06-08T23:22:37.6744666Z       ],
2026-06-08T23:22:37.6744955Z       "stages": {
2026-06-08T23:22:37.6745243Z         "doc": {
2026-06-08T23:22:37.6745553Z           "complete": true,
2026-06-08T23:22:37.6745854Z           "evidence": [
2026-06-08T23:22:37.6746139Z             {
2026-06-08T23:22:37.6746498Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-08T23:22:37.6746798Z               "line": 312
2026-06-08T23:22:37.6747156Z             }
2026-06-08T23:22:37.6747462Z           ]
2026-06-08T23:22:37.6747745Z         },
2026-06-08T23:22:37.6748031Z         "impl": {
2026-06-08T23:22:37.6748351Z           "complete": true,
2026-06-08T23:22:37.6748647Z           "evidence": [
2026-06-08T23:22:37.6748933Z             {
2026-06-08T23:22:37.6749324Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-08T23:22:37.6749634Z               "line": 85
2026-06-08T23:22:37.6749919Z             },
2026-06-08T23:22:37.6750205Z             {
2026-06-08T23:22:37.6750593Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-08T23:22:37.6750889Z               "line": 99
2026-06-08T23:22:37.6751176Z             },
2026-06-08T23:22:37.6751457Z             {
2026-06-08T23:22:37.6751862Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-08T23:22:37.6752153Z               "line": 55
2026-06-08T23:22:37.6752429Z             },
2026-06-08T23:22:37.6752697Z             {
2026-06-08T23:22:37.6753080Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-08T23:22:37.6753376Z               "line": 31
2026-06-08T23:22:37.6753666Z             },
2026-06-08T23:22:37.6753943Z             {
2026-06-08T23:22:37.6754338Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-08T23:22:37.6754639Z               "line": 187
2026-06-08T23:22:37.6754935Z             },
2026-06-08T23:22:37.6755221Z             {
2026-06-08T23:22:37.6755623Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-08T23:22:37.6755915Z               "line": 95
2026-06-08T23:22:37.6756195Z             },
2026-06-08T23:22:37.6756477Z             {
2026-06-08T23:22:37.6756881Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-08T23:22:37.6757238Z               "line": 29
2026-06-08T23:22:37.6757524Z             },
2026-06-08T23:22:37.6757807Z             {
2026-06-08T23:22:37.6758210Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-08T23:22:37.6758511Z               "line": 104
2026-06-08T23:22:37.6758798Z             },
2026-06-08T23:22:37.6759192Z             {
2026-06-08T23:22:37.6759622Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.6759917Z               "line": 192
2026-06-08T23:22:37.6760204Z             },
2026-06-08T23:22:37.6760489Z             {
2026-06-08T23:22:37.6760889Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-08T23:22:37.6761283Z               "line": 28
2026-06-08T23:22:37.6761569Z             },
2026-06-08T23:22:37.6761850Z             {
2026-06-08T23:22:37.6762246Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-08T23:22:37.6762548Z               "line": 74
2026-06-08T23:22:37.6762833Z             },
2026-06-08T23:22:37.6763114Z             {
2026-06-08T23:22:37.6763527Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-08T23:22:37.6763821Z               "line": 32
2026-06-08T23:22:37.6764112Z             },
2026-06-08T23:22:37.6764388Z             {
2026-06-08T23:22:37.6764766Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-08T23:22:37.6765076Z               "line": 40
2026-06-08T23:22:37.6765361Z             },
2026-06-08T23:22:37.6765652Z             {
2026-06-08T23:22:37.6766037Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-08T23:22:37.6766339Z               "line": 184
2026-06-08T23:22:37.6766630Z             },
2026-06-08T23:22:37.6766916Z             {
2026-06-08T23:22:37.6767375Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-08T23:22:37.6767671Z               "line": 70
2026-06-08T23:22:37.6767958Z             },
2026-06-08T23:22:37.6768242Z             {
2026-06-08T23:22:37.6768620Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-08T23:22:37.6768919Z               "line": 223
2026-06-08T23:22:37.6769204Z             },
2026-06-08T23:22:37.6769490Z             {
2026-06-08T23:22:37.6769873Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-08T23:22:37.6770173Z               "line": 37
2026-06-08T23:22:37.6770459Z             },
2026-06-08T23:22:37.6770754Z             {
2026-06-08T23:22:37.6771151Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-08T23:22:37.6771454Z               "line": 38
2026-06-08T23:22:37.6771737Z             },
2026-06-08T23:22:37.6772009Z             {
2026-06-08T23:22:37.6772415Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-08T23:22:37.6772783Z               "line": 36
2026-06-08T23:22:37.6773069Z             },
2026-06-08T23:22:37.6773349Z             {
2026-06-08T23:22:37.6773747Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-08T23:22:37.6774054Z               "line": 40
2026-06-08T23:22:37.6774333Z             }
2026-06-08T23:22:37.6774618Z           ]
2026-06-08T23:22:37.6774900Z         },
2026-06-08T23:22:37.6775186Z         "int": {
2026-06-08T23:22:37.6775497Z           "complete": false,
2026-06-08T23:22:37.6775811Z           "evidence": []
2026-06-08T23:22:37.6776150Z         },
2026-06-08T23:22:37.6776435Z         "unit": {
2026-06-08T23:22:37.6776752Z           "complete": true,
2026-06-08T23:22:37.6777119Z           "evidence": [
2026-06-08T23:22:37.6777410Z             {
2026-06-08T23:22:37.6777830Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-08T23:22:37.6778135Z               "line": 212
2026-06-08T23:22:37.6778421Z             },
2026-06-08T23:22:37.6778712Z             {
2026-06-08T23:22:37.6779123Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-08T23:22:37.6779412Z               "line": 136
2026-06-08T23:22:37.6779693Z             },
2026-06-08T23:22:37.6779979Z             {
2026-06-08T23:22:37.6780408Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-08T23:22:37.6780718Z               "line": 683
2026-06-08T23:22:37.6780999Z             },
2026-06-08T23:22:37.6781286Z             {
2026-06-08T23:22:37.6781672Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-08T23:22:37.6781980Z               "line": 224
2026-06-08T23:22:37.6782269Z             },
2026-06-08T23:22:37.6782656Z             {
2026-06-08T23:22:37.6783057Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-08T23:22:37.6783358Z               "line": 157
2026-06-08T23:22:37.6783639Z             },
2026-06-08T23:22:37.6783924Z             {
2026-06-08T23:22:37.6784312Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-08T23:22:37.6784732Z               "line": 112
2026-06-08T23:22:37.6785013Z             },
2026-06-08T23:22:37.6785299Z             {
2026-06-08T23:22:37.6785675Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-08T23:22:37.6785980Z               "line": 157
2026-06-08T23:22:37.6786263Z             },
2026-06-08T23:22:37.6786549Z             {
2026-06-08T23:22:37.6787029Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-08T23:22:37.6787341Z               "line": 215
2026-06-08T23:22:37.6787627Z             },
2026-06-08T23:22:37.6787919Z             {
2026-06-08T23:22:37.6788318Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-08T23:22:37.6788628Z               "line": 140
2026-06-08T23:22:37.6788919Z             },
2026-06-08T23:22:37.6789205Z             {
2026-06-08T23:22:37.6789581Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-08T23:22:37.6789891Z               "line": 162
2026-06-08T23:22:37.6790173Z             }
2026-06-08T23:22:37.6790468Z           ]
2026-06-08T23:22:37.6790750Z         }
2026-06-08T23:22:37.6791041Z       }
2026-06-08T23:22:37.6791317Z     },
2026-06-08T23:22:37.6791584Z     {
2026-06-08T23:22:37.6791957Z       "id": "REQ-HAZARD-WINDOWS-PID-RECYCLE",
2026-06-08T23:22:37.6792474Z       "title": "Windows PID-recycling false positives guarded (5.1)",
2026-06-08T23:22:37.6792791Z       "requiredStages": [
2026-06-08T23:22:37.6793078Z         "impl",
2026-06-08T23:22:37.6793369Z         "unit"
2026-06-08T23:22:37.6793655Z       ],
2026-06-08T23:22:37.6793942Z       "stages": {
2026-06-08T23:22:37.6794271Z         "doc": {
2026-06-08T23:22:37.6794604Z           "complete": false,
2026-06-08T23:22:37.6794901Z           "evidence": []
2026-06-08T23:22:37.6795179Z         },
2026-06-08T23:22:37.6795468Z         "impl": {
2026-06-08T23:22:37.6795778Z           "complete": true,
2026-06-08T23:22:37.6796073Z           "evidence": [
2026-06-08T23:22:37.6796364Z             {
2026-06-08T23:22:37.6796751Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-08T23:22:37.6797119Z               "line": 95
2026-06-08T23:22:37.6797414Z             },
2026-06-08T23:22:37.6797703Z             {
2026-06-08T23:22:37.6798088Z               "path": "crates/spt/src/api/startup.rs",
2026-06-08T23:22:37.6798393Z               "line": 102
2026-06-08T23:22:37.6798678Z             }
2026-06-08T23:22:37.6798959Z           ]
2026-06-08T23:22:37.6799246Z         },
2026-06-08T23:22:37.6799532Z         "int": {
2026-06-08T23:22:37.6799856Z           "complete": false,
2026-06-08T23:22:37.6800161Z           "evidence": []
2026-06-08T23:22:37.6800442Z         },
2026-06-08T23:22:37.6800738Z         "unit": {
2026-06-08T23:22:37.6801057Z           "complete": true,
2026-06-08T23:22:37.6801358Z           "evidence": [
2026-06-08T23:22:37.6801639Z             {
2026-06-08T23:22:37.6802020Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-08T23:22:37.6802334Z               "line": 250
2026-06-08T23:22:37.6802631Z             },
2026-06-08T23:22:37.6802922Z             {
2026-06-08T23:22:37.6803300Z               "path": "crates/spt-store/src/proc.rs",
2026-06-08T23:22:37.6803605Z               "line": 198
2026-06-08T23:22:37.6803891Z             },
2026-06-08T23:22:37.6804182Z             {
2026-06-08T23:22:37.6804568Z               "path": "crates/spt/src/api/startup.rs",
2026-06-08T23:22:37.6804873Z               "line": 442
2026-06-08T23:22:37.6805164Z             },
2026-06-08T23:22:37.6805451Z             {
2026-06-08T23:22:37.6805834Z               "path": "crates/spt/src/api/startup.rs",
2026-06-08T23:22:37.6806133Z               "line": 475
2026-06-08T23:22:37.6806415Z             }
2026-06-08T23:22:37.6806805Z           ]
2026-06-08T23:22:37.6807164Z         }
2026-06-08T23:22:37.6807467Z       }
2026-06-08T23:22:37.6807750Z     },
2026-06-08T23:22:37.6808042Z     {
2026-06-08T23:22:37.6808391Z       "id": "REQ-HAZARD-WORKER-PATH",
2026-06-08T23:22:37.6808991Z       "title": "Single source of truth for Worker/Psyche perch location (1.5)",
2026-06-08T23:22:37.6809406Z       "requiredStages": [
2026-06-08T23:22:37.6809691Z         "impl",
2026-06-08T23:22:37.6809978Z         "unit"
2026-06-08T23:22:37.6810265Z       ],
2026-06-08T23:22:37.6810556Z       "stages": {
2026-06-08T23:22:37.6810837Z         "doc": {
2026-06-08T23:22:37.6811145Z           "complete": false,
2026-06-08T23:22:37.6811450Z           "evidence": []
2026-06-08T23:22:37.6811731Z         },
2026-06-08T23:22:37.6812022Z         "impl": {
2026-06-08T23:22:37.6812327Z           "complete": true,
2026-06-08T23:22:37.6812628Z           "evidence": [
2026-06-08T23:22:37.6812904Z             {
2026-06-08T23:22:37.6813290Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.6813595Z               "line": 242
2026-06-08T23:22:37.6813883Z             },
2026-06-08T23:22:37.6814180Z             {
2026-06-08T23:22:37.6814565Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.6814866Z               "line": 287
2026-06-08T23:22:37.6815157Z             },
2026-06-08T23:22:37.6815443Z             {
2026-06-08T23:22:37.6815824Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.6816124Z               "line": 299
2026-06-08T23:22:37.6816408Z             }
2026-06-08T23:22:37.6816685Z           ]
2026-06-08T23:22:37.6817046Z         },
2026-06-08T23:22:37.6817309Z         "int": {
2026-06-08T23:22:37.6817647Z           "complete": false,
2026-06-08T23:22:37.6817948Z           "evidence": []
2026-06-08T23:22:37.6818225Z         },
2026-06-08T23:22:37.6818516Z         "unit": {
2026-06-08T23:22:37.6818823Z           "complete": true,
2026-06-08T23:22:37.6819116Z           "evidence": [
2026-06-08T23:22:37.6819403Z             {
2026-06-08T23:22:37.6819789Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.6820089Z               "line": 435
2026-06-08T23:22:37.6820366Z             },
2026-06-08T23:22:37.6820647Z             {
2026-06-08T23:22:37.6821015Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.6821325Z               "line": 479
2026-06-08T23:22:37.6821614Z             }
2026-06-08T23:22:37.6821891Z           ]
2026-06-08T23:22:37.6822173Z         }
2026-06-08T23:22:37.6822459Z       }
2026-06-08T23:22:37.6822736Z     },
2026-06-08T23:22:37.6823012Z     {
2026-06-08T23:22:37.6823318Z       "id": "REQ-INFRA-1",
2026-06-08T23:22:37.6823899Z       "title": "GitHub issue tracking for v1; tangled.org as migration target",
2026-06-08T23:22:37.6824216Z       "requiredStages": [],
2026-06-08T23:22:37.6824510Z       "stages": {
2026-06-08T23:22:37.6824786Z         "doc": {
2026-06-08T23:22:37.6825097Z           "complete": false,
2026-06-08T23:22:37.6825397Z           "evidence": []
2026-06-08T23:22:37.6825678Z         },
2026-06-08T23:22:37.6825965Z         "impl": {
2026-06-08T23:22:37.6826275Z           "complete": false,
2026-06-08T23:22:37.6826576Z           "evidence": []
2026-06-08T23:22:37.6826851Z         },
2026-06-08T23:22:37.6827226Z         "int": {
2026-06-08T23:22:37.6827602Z           "complete": false,
2026-06-08T23:22:37.6827893Z           "evidence": []
2026-06-08T23:22:37.6828156Z         },
2026-06-08T23:22:37.6828437Z         "unit": {
2026-06-08T23:22:37.6828741Z           "complete": false,
2026-06-08T23:22:37.6829032Z           "evidence": []
2026-06-08T23:22:37.6829307Z         }
2026-06-08T23:22:37.6829582Z       }
2026-06-08T23:22:37.6829859Z     },
2026-06-08T23:22:37.6830136Z     {
2026-06-08T23:22:37.6830441Z       "id": "REQ-INST-1",
2026-06-08T23:22:37.6830950Z       "title": "endpoint ID vs instance split (adapter-agnostic ID)",
2026-06-08T23:22:37.6831265Z       "requiredStages": [],
2026-06-08T23:22:37.6831671Z       "stages": {
2026-06-08T23:22:37.6831958Z         "doc": {
2026-06-08T23:22:37.6832270Z           "complete": false,
2026-06-08T23:22:37.6832565Z           "evidence": []
2026-06-08T23:22:37.6832856Z         },
2026-06-08T23:22:37.6833156Z         "impl": {
2026-06-08T23:22:37.6833457Z           "complete": false,
2026-06-08T23:22:37.6833858Z           "evidence": []
2026-06-08T23:22:37.6834135Z         },
2026-06-08T23:22:37.6834420Z         "int": {
2026-06-08T23:22:37.6834730Z           "complete": false,
2026-06-08T23:22:37.6835027Z           "evidence": []
2026-06-08T23:22:37.6835309Z         },
2026-06-08T23:22:37.6835595Z         "unit": {
2026-06-08T23:22:37.6835914Z           "complete": false,
2026-06-08T23:22:37.6836215Z           "evidence": []
2026-06-08T23:22:37.6836502Z         }
2026-06-08T23:22:37.6836779Z       }
2026-06-08T23:22:37.6837137Z     },
2026-06-08T23:22:37.6837425Z     {
2026-06-08T23:22:37.6837728Z       "id": "REQ-INST-10",
2026-06-08T23:22:37.6838410Z       "title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
2026-06-08T23:22:37.6838730Z       "requiredStages": [
2026-06-08T23:22:37.6839016Z         "impl",
2026-06-08T23:22:37.6839302Z         "unit"
2026-06-08T23:22:37.6839587Z       ],
2026-06-08T23:22:37.6839881Z       "stages": {
2026-06-08T23:22:37.6840166Z         "doc": {
2026-06-08T23:22:37.6840471Z           "complete": false,
2026-06-08T23:22:37.6840767Z           "evidence": []
2026-06-08T23:22:37.6841048Z         },
2026-06-08T23:22:37.6841315Z         "impl": {
2026-06-08T23:22:37.6841625Z           "complete": true,
2026-06-08T23:22:37.6841926Z           "evidence": [
2026-06-08T23:22:37.6842198Z             {
2026-06-08T23:22:37.6842608Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.6842908Z               "line": 600
2026-06-08T23:22:37.6843198Z             },
2026-06-08T23:22:37.6843479Z             {
2026-06-08T23:22:37.6843885Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.6844190Z               "line": 677
2026-06-08T23:22:37.6844462Z             },
2026-06-08T23:22:37.6844743Z             {
2026-06-08T23:22:37.6845111Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-08T23:22:37.6845414Z               "line": 13
2026-06-08T23:22:37.6845682Z             },
2026-06-08T23:22:37.6845973Z             {
2026-06-08T23:22:37.6846351Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-08T23:22:37.6846646Z               "line": 67
2026-06-08T23:22:37.6846927Z             },
2026-06-08T23:22:37.6847305Z             {
2026-06-08T23:22:37.6847687Z               "path": "crates/spt/src/wansend.rs",
2026-06-08T23:22:37.6847985Z               "line": 18
2026-06-08T23:22:37.6848269Z             },
2026-06-08T23:22:37.6848554Z             {
2026-06-08T23:22:37.6848908Z               "path": "crates/spt/src/wansend.rs",
2026-06-08T23:22:37.6849208Z               "line": 444
2026-06-08T23:22:37.6849480Z             }
2026-06-08T23:22:37.6849771Z           ]
2026-06-08T23:22:37.6850052Z         },
2026-06-08T23:22:37.6850342Z         "int": {
2026-06-08T23:22:37.6850650Z           "complete": false,
2026-06-08T23:22:37.6850947Z           "evidence": []
2026-06-08T23:22:37.6851232Z         },
2026-06-08T23:22:37.6851514Z         "unit": {
2026-06-08T23:22:37.6851829Z           "complete": true,
2026-06-08T23:22:37.6852124Z           "evidence": [
2026-06-08T23:22:37.6852410Z             {
2026-06-08T23:22:37.6852811Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.6853112Z               "line": 883
2026-06-08T23:22:37.6853395Z             },
2026-06-08T23:22:37.6853676Z             {
2026-06-08T23:22:37.6854078Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.6854383Z               "line": 1212
2026-06-08T23:22:37.6854664Z             },
2026-06-08T23:22:37.6854950Z             {
2026-06-08T23:22:37.6855347Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.6855761Z               "line": 1223
2026-06-08T23:22:37.6856045Z             },
2026-06-08T23:22:37.6856330Z             {
2026-06-08T23:22:37.6856730Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.6857097Z               "line": 1239
2026-06-08T23:22:37.6857398Z             },
2026-06-08T23:22:37.6857865Z             {
2026-06-08T23:22:37.6858266Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.6858550Z               "line": 1255
2026-06-08T23:22:37.6858839Z             },
2026-06-08T23:22:37.6859119Z             {
2026-06-08T23:22:37.6859521Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.6859822Z               "line": 1277
2026-06-08T23:22:37.6860108Z             },
2026-06-08T23:22:37.6860393Z             {
2026-06-08T23:22:37.6860795Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.6861098Z               "line": 1582
2026-06-08T23:22:37.6861381Z             },
2026-06-08T23:22:37.6861662Z             {
2026-06-08T23:22:37.6862040Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-08T23:22:37.6862335Z               "line": 130
2026-06-08T23:22:37.6862626Z             },
2026-06-08T23:22:37.6862902Z             {
2026-06-08T23:22:37.6863279Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-08T23:22:37.6863580Z               "line": 167
2026-06-08T23:22:37.6863865Z             },
2026-06-08T23:22:37.6864146Z             {
2026-06-08T23:22:37.6864513Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-08T23:22:37.6864813Z               "line": 175
2026-06-08T23:22:37.6865095Z             },
2026-06-08T23:22:37.6865376Z             {
2026-06-08T23:22:37.6865753Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-08T23:22:37.6866048Z               "line": 183
2026-06-08T23:22:37.6866334Z             },
2026-06-08T23:22:37.6866614Z             {
2026-06-08T23:22:37.6867047Z               "path": "crates/spt/src/wansend.rs",
2026-06-08T23:22:37.6867375Z               "line": 895
2026-06-08T23:22:37.6867681Z             }
2026-06-08T23:22:37.6867967Z           ]
2026-06-08T23:22:37.6868244Z         }
2026-06-08T23:22:37.6868530Z       }
2026-06-08T23:22:37.6868807Z     },
2026-06-08T23:22:37.6869082Z     {
2026-06-08T23:22:37.6869384Z       "id": "REQ-INST-11",
2026-06-08T23:22:37.6870072Z       "title": "spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)",
2026-06-08T23:22:37.6870386Z       "requiredStages": [
2026-06-08T23:22:37.6870673Z         "impl",
2026-06-08T23:22:37.6870953Z         "unit"
2026-06-08T23:22:37.6871225Z       ],
2026-06-08T23:22:37.6871500Z       "stages": {
2026-06-08T23:22:37.6871785Z         "doc": {
2026-06-08T23:22:37.6872100Z           "complete": false,
2026-06-08T23:22:37.6872400Z           "evidence": []
2026-06-08T23:22:37.6872677Z         },
2026-06-08T23:22:37.6872963Z         "impl": {
2026-06-08T23:22:37.6873263Z           "complete": true,
2026-06-08T23:22:37.6873559Z           "evidence": [
2026-06-08T23:22:37.6873844Z             {
2026-06-08T23:22:37.6874241Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.6874544Z               "line": 466
2026-06-08T23:22:37.6874826Z             },
2026-06-08T23:22:37.6875111Z             {
2026-06-08T23:22:37.6875532Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-08T23:22:37.6878946Z               "line": 265
2026-06-08T23:22:37.6879256Z             },
2026-06-08T23:22:37.6879532Z             {
2026-06-08T23:22:37.6879935Z               "path": "crates/spt-store/src/rename.rs",
2026-06-08T23:22:37.6880230Z               "line": 59
2026-06-08T23:22:37.6880512Z             },
2026-06-08T23:22:37.6880784Z             {
2026-06-08T23:22:37.6881141Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.6881442Z               "line": 3397
2026-06-08T23:22:37.6881718Z             },
2026-06-08T23:22:37.6881991Z             {
2026-06-08T23:22:37.6882336Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.6882797Z               "line": 4496
2026-06-08T23:22:37.6883073Z             }
2026-06-08T23:22:37.6883351Z           ]
2026-06-08T23:22:37.6883627Z         },
2026-06-08T23:22:37.6883909Z         "int": {
2026-06-08T23:22:37.6884219Z           "complete": false,
2026-06-08T23:22:37.6884609Z           "evidence": []
2026-06-08T23:22:37.6884886Z         },
2026-06-08T23:22:37.6885157Z         "unit": {
2026-06-08T23:22:37.6885449Z           "complete": true,
2026-06-08T23:22:37.6885744Z           "evidence": [
2026-06-08T23:22:37.6886030Z             {
2026-06-08T23:22:37.6886431Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.6886727Z               "line": 1382
2026-06-08T23:22:37.6887098Z             },
2026-06-08T23:22:37.6887390Z             {
2026-06-08T23:22:37.6887795Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.6888101Z               "line": 1415
2026-06-08T23:22:37.6888387Z             },
2026-06-08T23:22:37.6888673Z             {
2026-06-08T23:22:37.6889092Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-08T23:22:37.6889392Z               "line": 495
2026-06-08T23:22:37.6889674Z             },
2026-06-08T23:22:37.6889951Z             {
2026-06-08T23:22:37.6890329Z               "path": "crates/spt-store/src/rename.rs",
2026-06-08T23:22:37.6890634Z               "line": 160
2026-06-08T23:22:37.6890920Z             },
2026-06-08T23:22:37.6891202Z             {
2026-06-08T23:22:37.6891587Z               "path": "crates/spt-store/src/rename.rs",
2026-06-08T23:22:37.6891879Z               "line": 190
2026-06-08T23:22:37.6892161Z             },
2026-06-08T23:22:37.6892437Z             {
2026-06-08T23:22:37.6892816Z               "path": "crates/spt-store/src/rename.rs",
2026-06-08T23:22:37.6893120Z               "line": 225
2026-06-08T23:22:37.6893396Z             },
2026-06-08T23:22:37.6893677Z             {
2026-06-08T23:22:37.6894025Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.6894331Z               "line": 4736
2026-06-08T23:22:37.6894616Z             }
2026-06-08T23:22:37.6894898Z           ]
2026-06-08T23:22:37.6895174Z         }
2026-06-08T23:22:37.6895451Z       }
2026-06-08T23:22:37.6895727Z     },
2026-06-08T23:22:37.6895999Z     {
2026-06-08T23:22:37.6896304Z       "id": "REQ-INST-12",
2026-06-08T23:22:37.6897334Z       "title": "Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync",
2026-06-08T23:22:37.6897645Z       "requiredStages": [
2026-06-08T23:22:37.6897916Z         "impl",
2026-06-08T23:22:37.6898191Z         "unit"
2026-06-08T23:22:37.6898464Z       ],
2026-06-08T23:22:37.6898746Z       "stages": {
2026-06-08T23:22:37.6899046Z         "doc": {
2026-06-08T23:22:37.6899356Z           "complete": false,
2026-06-08T23:22:37.6899648Z           "evidence": []
2026-06-08T23:22:37.6899962Z         },
2026-06-08T23:22:37.6900243Z         "impl": {
2026-06-08T23:22:37.6900549Z           "complete": true,
2026-06-08T23:22:37.6900838Z           "evidence": [
2026-06-08T23:22:37.6901123Z             {
2026-06-08T23:22:37.6901533Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.6901823Z               "line": 518
2026-06-08T23:22:37.6902101Z             },
2026-06-08T23:22:37.6902372Z             {
2026-06-08T23:22:37.6902791Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.6903083Z               "line": 611
2026-06-08T23:22:37.6903367Z             },
2026-06-08T23:22:37.6903641Z             {
2026-06-08T23:22:37.6904037Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.6904333Z               "line": 691
2026-06-08T23:22:37.6904648Z             },
2026-06-08T23:22:37.6904930Z             {
2026-06-08T23:22:37.6905306Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-08T23:22:37.6905603Z               "line": 87
2026-06-08T23:22:37.6905888Z             },
2026-06-08T23:22:37.6906158Z             {
2026-06-08T23:22:37.6906645Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-08T23:22:37.6906941Z               "line": 216
2026-06-08T23:22:37.6907312Z             },
2026-06-08T23:22:37.6907593Z             {
2026-06-08T23:22:37.6907999Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-08T23:22:37.6908395Z               "line": 135
2026-06-08T23:22:37.6908679Z             }
2026-06-08T23:22:37.6908954Z           ]
2026-06-08T23:22:37.6909226Z         },
2026-06-08T23:22:37.6909507Z         "int": {
2026-06-08T23:22:37.6909808Z           "complete": false,
2026-06-08T23:22:37.6910099Z           "evidence": []
2026-06-08T23:22:37.6910371Z         },
2026-06-08T23:22:37.6910651Z         "unit": {
2026-06-08T23:22:37.6910957Z           "complete": true,
2026-06-08T23:22:37.6911246Z           "evidence": [
2026-06-08T23:22:37.6911525Z             {
2026-06-08T23:22:37.6911911Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.6912211Z               "line": 1457
2026-06-08T23:22:37.6912497Z             },
2026-06-08T23:22:37.6912766Z             {
2026-06-08T23:22:37.6913165Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.6913456Z               "line": 1480
2026-06-08T23:22:37.6913741Z             },
2026-06-08T23:22:37.6914039Z             {
2026-06-08T23:22:37.6914449Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.6914749Z               "line": 1517
2026-06-08T23:22:37.6915031Z             },
2026-06-08T23:22:37.6915318Z             {
2026-06-08T23:22:37.6915699Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-08T23:22:37.6915994Z               "line": 350
2026-06-08T23:22:37.6916275Z             },
2026-06-08T23:22:37.6916548Z             {
2026-06-08T23:22:37.6917057Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-08T23:22:37.6917425Z               "line": 172
2026-06-08T23:22:37.6917715Z             },
2026-06-08T23:22:37.6917991Z             {
2026-06-08T23:22:37.6918403Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-08T23:22:37.6918703Z               "line": 193
2026-06-08T23:22:37.6918979Z             },
2026-06-08T23:22:37.6919273Z             {
2026-06-08T23:22:37.6919662Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-08T23:22:37.6919967Z               "line": 219
2026-06-08T23:22:37.6920253Z             }
2026-06-08T23:22:37.6920534Z           ]
2026-06-08T23:22:37.6920815Z         }
2026-06-08T23:22:37.6921087Z       }
2026-06-08T23:22:37.6921359Z     },
2026-06-08T23:22:37.6921632Z     {
2026-06-08T23:22:37.6921935Z       "id": "REQ-INST-13",
2026-06-08T23:22:37.6922524Z       "title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
2026-06-08T23:22:37.6922844Z       "requiredStages": [
2026-06-08T23:22:37.6923125Z         "impl",
2026-06-08T23:22:37.6923406Z         "unit"
2026-06-08T23:22:37.6923683Z       ],
2026-06-08T23:22:37.6923973Z       "stages": {
2026-06-08T23:22:37.6924264Z         "doc": {
2026-06-08T23:22:37.6924572Z           "complete": false,
2026-06-08T23:22:37.6924873Z           "evidence": []
2026-06-08T23:22:37.6925149Z         },
2026-06-08T23:22:37.6925430Z         "impl": {
2026-06-08T23:22:37.6925735Z           "complete": true,
2026-06-08T23:22:37.6926031Z           "evidence": [
2026-06-08T23:22:37.6926316Z             {
2026-06-08T23:22:37.6926694Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-08T23:22:37.6927071Z               "line": 100
2026-06-08T23:22:37.6927355Z             },
2026-06-08T23:22:37.6927632Z             {
2026-06-08T23:22:37.6928046Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-08T23:22:37.6928343Z               "line": 158
2026-06-08T23:22:37.6928619Z             }
2026-06-08T23:22:37.6928905Z           ]
2026-06-08T23:22:37.6929181Z         },
2026-06-08T23:22:37.6929467Z         "int": {
2026-06-08T23:22:37.6929776Z           "complete": false,
2026-06-08T23:22:37.6930079Z           "evidence": []
2026-06-08T23:22:37.6930484Z         },
2026-06-08T23:22:37.6930770Z         "unit": {
2026-06-08T23:22:37.6931080Z           "complete": true,
2026-06-08T23:22:37.6931380Z           "evidence": [
2026-06-08T23:22:37.6931662Z             {
2026-06-08T23:22:37.6932062Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-08T23:22:37.6932457Z               "line": 248
2026-06-08T23:22:37.6932736Z             },
2026-06-08T23:22:37.6933016Z             {
2026-06-08T23:22:37.6933424Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-08T23:22:37.6933719Z               "line": 266
2026-06-08T23:22:37.6934005Z             }
2026-06-08T23:22:37.6934276Z           ]
2026-06-08T23:22:37.6934548Z         }
2026-06-08T23:22:37.6934824Z       }
2026-06-08T23:22:37.6935099Z     },
2026-06-08T23:22:37.6935365Z     {
2026-06-08T23:22:37.6935666Z       "id": "REQ-INST-14",
2026-06-08T23:22:37.6936901Z       "title": "Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated",
2026-06-08T23:22:37.6937316Z       "requiredStages": [
2026-06-08T23:22:37.6937622Z         "doc",
2026-06-08T23:22:37.6937900Z         "impl",
2026-06-08T23:22:37.6938177Z         "unit"
2026-06-08T23:22:37.6938453Z       ],
2026-06-08T23:22:37.6938739Z       "stages": {
2026-06-08T23:22:37.6939031Z         "doc": {
2026-06-08T23:22:37.6939331Z           "complete": true,
2026-06-08T23:22:37.6939626Z           "evidence": [
2026-06-08T23:22:37.6939899Z             {
2026-06-08T23:22:37.6940214Z               "path": "CONTEXT.md",
2026-06-08T23:22:37.6940513Z               "line": 425
2026-06-08T23:22:37.6940792Z             },
2026-06-08T23:22:37.6941078Z             {
2026-06-08T23:22:37.6941407Z               "path": "docs/STORAGE.md",
2026-06-08T23:22:37.6941698Z               "line": 49
2026-06-08T23:22:37.6941974Z             }
2026-06-08T23:22:37.6942255Z           ]
2026-06-08T23:22:37.6942537Z         },
2026-06-08T23:22:37.6942822Z         "impl": {
2026-06-08T23:22:37.6943139Z           "complete": true,
2026-06-08T23:22:37.6943440Z           "evidence": [
2026-06-08T23:22:37.6943716Z             {
2026-06-08T23:22:37.6944135Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.6944431Z               "line": 388
2026-06-08T23:22:37.6944708Z             },
2026-06-08T23:22:37.6944990Z             {
2026-06-08T23:22:37.6945398Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.6945697Z               "line": 330
2026-06-08T23:22:37.6945978Z             },
2026-06-08T23:22:37.6946255Z             {
2026-06-08T23:22:37.6946627Z               "path": "crates/spt-store/src/info.rs",
2026-06-08T23:22:37.6946922Z               "line": 211
2026-06-08T23:22:37.6947284Z             },
2026-06-08T23:22:37.6947566Z             {
2026-06-08T23:22:37.6947909Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.6948205Z               "line": 974
2026-06-08T23:22:37.6948480Z             }
2026-06-08T23:22:37.6948766Z           ]
2026-06-08T23:22:37.6949061Z         },
2026-06-08T23:22:37.6949352Z         "int": {
2026-06-08T23:22:37.6949667Z           "complete": false,
2026-06-08T23:22:37.6949962Z           "evidence": []
2026-06-08T23:22:37.6950244Z         },
2026-06-08T23:22:37.6950529Z         "unit": {
2026-06-08T23:22:37.6950844Z           "complete": true,
2026-06-08T23:22:37.6951138Z           "evidence": [
2026-06-08T23:22:37.6951419Z             {
2026-06-08T23:22:37.6951847Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.6952143Z               "line": 1081
2026-06-08T23:22:37.6952425Z             },
2026-06-08T23:22:37.6952697Z             {
2026-06-08T23:22:37.6953107Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.6953415Z               "line": 895
2026-06-08T23:22:37.6953700Z             },
2026-06-08T23:22:37.6953986Z             {
2026-06-08T23:22:37.6954395Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.6954810Z               "line": 1153
2026-06-08T23:22:37.6955096Z             },
2026-06-08T23:22:37.6955382Z             {
2026-06-08T23:22:37.6955754Z               "path": "crates/spt-store/src/info.rs",
2026-06-08T23:22:37.6956058Z               "line": 463
2026-06-08T23:22:37.6956347Z             },
2026-06-08T23:22:37.6956728Z             {
2026-06-08T23:22:37.6957172Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.6957477Z               "line": 4812
2026-06-08T23:22:37.6957764Z             }
2026-06-08T23:22:37.6958041Z           ]
2026-06-08T23:22:37.6958321Z         }
2026-06-08T23:22:37.6958603Z       }
2026-06-08T23:22:37.6958887Z     },
2026-06-08T23:22:37.6959169Z     {
2026-06-08T23:22:37.6959460Z       "id": "REQ-INST-15",
2026-06-08T23:22:37.6961802Z       "title": "Immutable home subnet (assigned at creation: auto-if-one/ask-if-many) + spt fork (cross-subnet clone to a new identity, copy-then-diverge, not re-home); adapter chosen at creation from registered hostable adapters, changed only via launch/resume-under-new (ADR-0010)",
2026-06-08T23:22:37.6962116Z       "requiredStages": [
2026-06-08T23:22:37.6962403Z         "doc",
2026-06-08T23:22:37.6962689Z         "impl",
2026-06-08T23:22:37.6962961Z         "unit"
2026-06-08T23:22:37.6963248Z       ],
2026-06-08T23:22:37.6963539Z       "stages": {
2026-06-08T23:22:37.6963825Z         "doc": {
2026-06-08T23:22:37.6964133Z           "complete": true,
2026-06-08T23:22:37.6964426Z           "evidence": [
2026-06-08T23:22:37.6964702Z             {
2026-06-08T23:22:37.6965256Z               "path": "docs/adr/0010-immutable-home-subnet-fork-not-rehome.md",
2026-06-08T23:22:37.6965557Z               "line": 3
2026-06-08T23:22:37.6965847Z             }
2026-06-08T23:22:37.6966134Z           ]
2026-06-08T23:22:37.6966421Z         },
2026-06-08T23:22:37.6966709Z         "impl": {
2026-06-08T23:22:37.6967094Z           "complete": true,
2026-06-08T23:22:37.6967403Z           "evidence": [
2026-06-08T23:22:37.6967695Z             {
2026-06-08T23:22:37.6968128Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.6968433Z               "line": 337
2026-06-08T23:22:37.6968719Z             },
2026-06-08T23:22:37.6969001Z             {
2026-06-08T23:22:37.6969372Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-08T23:22:37.6969672Z               "line": 60
2026-06-08T23:22:37.6969954Z             },
2026-06-08T23:22:37.6970240Z             {
2026-06-08T23:22:37.6970664Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-08T23:22:37.6970959Z               "line": 336
2026-06-08T23:22:37.6971227Z             },
2026-06-08T23:22:37.6971518Z             {
2026-06-08T23:22:37.6971931Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-08T23:22:37.6972230Z               "line": 385
2026-06-08T23:22:37.6972521Z             },
2026-06-08T23:22:37.6972802Z             {
2026-06-08T23:22:37.6973178Z               "path": "crates/spt-store/src/home.rs",
2026-06-08T23:22:37.6973474Z               "line": 19
2026-06-08T23:22:37.6973765Z             },
2026-06-08T23:22:37.6974042Z             {
2026-06-08T23:22:37.6974414Z               "path": "crates/spt-store/src/home.rs",
2026-06-08T23:22:37.6974712Z               "line": 70
2026-06-08T23:22:37.6975006Z             },
2026-06-08T23:22:37.6975296Z             {
2026-06-08T23:22:37.6975669Z               "path": "crates/spt-store/src/home.rs",
2026-06-08T23:22:37.6975974Z               "line": 96
2026-06-08T23:22:37.6976260Z             },
2026-06-08T23:22:37.6976531Z             {
2026-06-08T23:22:37.6976899Z               "path": "crates/spt-store/src/home.rs",
2026-06-08T23:22:37.6977264Z               "line": 121
2026-06-08T23:22:37.6977563Z             },
2026-06-08T23:22:37.6977834Z             {
2026-06-08T23:22:37.6978202Z               "path": "crates/spt-store/src/home.rs",
2026-06-08T23:22:37.6978497Z               "line": 172
2026-06-08T23:22:37.6978783Z             },
2026-06-08T23:22:37.6979055Z             {
2026-06-08T23:22:37.6979599Z               "path": "crates/spt/src/api/startup.rs",
2026-06-08T23:22:37.6979909Z               "line": 143
2026-06-08T23:22:37.6980194Z             },
2026-06-08T23:22:37.6980481Z             {
2026-06-08T23:22:37.6980829Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.6981224Z               "line": 866
2026-06-08T23:22:37.6981505Z             }
2026-06-08T23:22:37.6981787Z           ]
2026-06-08T23:22:37.6982069Z         },
2026-06-08T23:22:37.6982355Z         "int": {
2026-06-08T23:22:37.6982667Z           "complete": false,
2026-06-08T23:22:37.6982980Z           "evidence": []
2026-06-08T23:22:37.6983270Z         },
2026-06-08T23:22:37.6983561Z         "unit": {
2026-06-08T23:22:37.6983871Z           "complete": true,
2026-06-08T23:22:37.6984181Z           "evidence": [
2026-06-08T23:22:37.6984463Z             {
2026-06-08T23:22:37.6984893Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-08T23:22:37.6985196Z               "line": 545
2026-06-08T23:22:37.6985494Z             },
2026-06-08T23:22:37.6985780Z             {
2026-06-08T23:22:37.6986195Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-08T23:22:37.6986505Z               "line": 606
2026-06-08T23:22:37.6986786Z             },
2026-06-08T23:22:37.6987169Z             {
2026-06-08T23:22:37.6987579Z               "path": "crates/spt-store/src/home.rs",
2026-06-08T23:22:37.6987882Z               "line": 213
2026-06-08T23:22:37.6988166Z             },
2026-06-08T23:22:37.6988452Z             {
2026-06-08T23:22:37.6988834Z               "path": "crates/spt-store/src/home.rs",
2026-06-08T23:22:37.6989135Z               "line": 249
2026-06-08T23:22:37.6989430Z             },
2026-06-08T23:22:37.6989712Z             {
2026-06-08T23:22:37.6990074Z               "path": "crates/spt-store/src/home.rs",
2026-06-08T23:22:37.6990379Z               "line": 262
2026-06-08T23:22:37.6990653Z             },
2026-06-08T23:22:37.6990935Z             {
2026-06-08T23:22:37.6991302Z               "path": "crates/spt-store/src/home.rs",
2026-06-08T23:22:37.6991607Z               "line": 338
2026-06-08T23:22:37.6991893Z             },
2026-06-08T23:22:37.6992165Z             {
2026-06-08T23:22:37.6992533Z               "path": "crates/spt/src/api/startup.rs",
2026-06-08T23:22:37.6992823Z               "line": 496
2026-06-08T23:22:37.6993118Z             },
2026-06-08T23:22:37.6993406Z             {
2026-06-08T23:22:37.6993759Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.6994069Z               "line": 4749
2026-06-08T23:22:37.6994351Z             },
2026-06-08T23:22:37.6994641Z             {
2026-06-08T23:22:37.6994989Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.6995289Z               "line": 6122
2026-06-08T23:22:37.6995576Z             }
2026-06-08T23:22:37.6995857Z           ]
2026-06-08T23:22:37.6996140Z         }
2026-06-08T23:22:37.6996422Z       }
2026-06-08T23:22:37.6996702Z     },
2026-06-08T23:22:37.6997066Z     {
2026-06-08T23:22:37.6997385Z       "id": "REQ-INST-2",
2026-06-08T23:22:37.6997776Z       "title": "Per-node files, synced Psyche mind",
2026-06-08T23:22:37.6998087Z       "requiredStages": [
2026-06-08T23:22:37.6998385Z         "impl",
2026-06-08T23:22:37.6998668Z         "unit"
2026-06-08T23:22:37.6998959Z       ],
2026-06-08T23:22:37.6999255Z       "stages": {
2026-06-08T23:22:37.6999546Z         "doc": {
2026-06-08T23:22:37.6999851Z           "complete": false,
2026-06-08T23:22:37.7000157Z           "evidence": []
2026-06-08T23:22:37.7000438Z         },
2026-06-08T23:22:37.7000728Z         "impl": {
2026-06-08T23:22:37.7001039Z           "complete": true,
2026-06-08T23:22:37.7001334Z           "evidence": [
2026-06-08T23:22:37.7001616Z             {
2026-06-08T23:22:37.7002021Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-08T23:22:37.7002320Z               "line": 86
2026-06-08T23:22:37.7002612Z             },
2026-06-08T23:22:37.7002898Z             {
2026-06-08T23:22:37.7003279Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-08T23:22:37.7003683Z               "line": 28
2026-06-08T23:22:37.7003967Z             },
2026-06-08T23:22:37.7004249Z             {
2026-06-08T23:22:37.7004634Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-08T23:22:37.7004930Z               "line": 74
2026-06-08T23:22:37.7005306Z             },
2026-06-08T23:22:37.7005593Z             {
2026-06-08T23:22:37.7005989Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-08T23:22:37.7006297Z               "line": 96
2026-06-08T23:22:37.7006586Z             },
2026-06-08T23:22:37.7006872Z             {
2026-06-08T23:22:37.7007345Z               "path": "crates/spt-live/src/resume.rs",
2026-06-08T23:22:37.7007645Z               "line": 81
2026-06-08T23:22:37.7007936Z             },
2026-06-08T23:22:37.7008217Z             {
2026-06-08T23:22:37.7008604Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-08T23:22:37.7008902Z               "line": 118
2026-06-08T23:22:37.7009190Z             }
2026-06-08T23:22:37.7009481Z           ]
2026-06-08T23:22:37.7009763Z         },
2026-06-08T23:22:37.7010054Z         "int": {
2026-06-08T23:22:37.7010364Z           "complete": false,
2026-06-08T23:22:37.7010669Z           "evidence": []
2026-06-08T23:22:37.7010951Z         },
2026-06-08T23:22:37.7011242Z         "unit": {
2026-06-08T23:22:37.7011557Z           "complete": true,
2026-06-08T23:22:37.7011856Z           "evidence": [
2026-06-08T23:22:37.7012142Z             {
2026-06-08T23:22:37.7012519Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-08T23:22:37.7012824Z               "line": 212
2026-06-08T23:22:37.7013106Z             },
2026-06-08T23:22:37.7013391Z             {
2026-06-08T23:22:37.7013773Z               "path": "crates/spt-live/src/resume.rs",
2026-06-08T23:22:37.7014069Z               "line": 258
2026-06-08T23:22:37.7014353Z             }
2026-06-08T23:22:37.7014636Z           ]
2026-06-08T23:22:37.7014917Z         }
2026-06-08T23:22:37.7015199Z       }
2026-06-08T23:22:37.7015486Z     },
2026-06-08T23:22:37.7015767Z     {
2026-06-08T23:22:37.7016067Z       "id": "REQ-INST-3",
2026-06-08T23:22:37.7016539Z       "title": "Dormant (warm) / suspended (cold) resting states",
2026-06-08T23:22:37.7016857Z       "requiredStages": [
2026-06-08T23:22:37.7017247Z         "doc",
2026-06-08T23:22:37.7017537Z         "impl",
2026-06-08T23:22:37.7017828Z         "unit"
2026-06-08T23:22:37.7018104Z       ],
2026-06-08T23:22:37.7018386Z       "stages": {
2026-06-08T23:22:37.7018667Z         "doc": {
2026-06-08T23:22:37.7018972Z           "complete": true,
2026-06-08T23:22:37.7019278Z           "evidence": [
2026-06-08T23:22:37.7019567Z             {
2026-06-08T23:22:37.7019928Z               "path": "docs/DORMANCY-BUDGET.md",
2026-06-08T23:22:37.7020228Z               "line": 3
2026-06-08T23:22:37.7020510Z             }
2026-06-08T23:22:37.7020792Z           ]
2026-06-08T23:22:37.7021072Z         },
2026-06-08T23:22:37.7021363Z         "impl": {
2026-06-08T23:22:37.7021677Z           "complete": true,
2026-06-08T23:22:37.7021983Z           "evidence": [
2026-06-08T23:22:37.7022281Z             {
2026-06-08T23:22:37.7022678Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-08T23:22:37.7022978Z               "line": 70
2026-06-08T23:22:37.7023263Z             },
2026-06-08T23:22:37.7023560Z             {
2026-06-08T23:22:37.7023961Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-08T23:22:37.7024261Z               "line": 480
2026-06-08T23:22:37.7024552Z             },
2026-06-08T23:22:37.7024836Z             {
2026-06-08T23:22:37.7025240Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-08T23:22:37.7025540Z               "line": 202
2026-06-08T23:22:37.7025831Z             },
2026-06-08T23:22:37.7026112Z             {
2026-06-08T23:22:37.7026523Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-08T23:22:37.7026823Z               "line": 291
2026-06-08T23:22:37.7027172Z             },
2026-06-08T23:22:37.7027612Z             {
2026-06-08T23:22:37.7028020Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-08T23:22:37.7028321Z               "line": 325
2026-06-08T23:22:37.7028603Z             },
2026-06-08T23:22:37.7028889Z             {
2026-06-08T23:22:37.7029294Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-08T23:22:37.7029685Z               "line": 298
2026-06-08T23:22:37.7029975Z             },
2026-06-08T23:22:37.7030240Z             {
2026-06-08T23:22:37.7030659Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.7030959Z               "line": 218
2026-06-08T23:22:37.7031250Z             },
2026-06-08T23:22:37.7031546Z             {
2026-06-08T23:22:37.7031971Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.7032277Z               "line": 374
2026-06-08T23:22:37.7032572Z             },
2026-06-08T23:22:37.7032861Z             {
2026-06-08T23:22:37.7033262Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-08T23:22:37.7033572Z               "line": 45
2026-06-08T23:22:37.7033863Z             },
2026-06-08T23:22:37.7034139Z             {
2026-06-08T23:22:37.7034541Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-08T23:22:37.7034836Z               "line": 114
2026-06-08T23:22:37.7035132Z             },
2026-06-08T23:22:37.7035425Z             {
2026-06-08T23:22:37.7035824Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-08T23:22:37.7036129Z               "line": 152
2026-06-08T23:22:37.7036420Z             },
2026-06-08T23:22:37.7036705Z             {
2026-06-08T23:22:37.7037183Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-08T23:22:37.7037488Z               "line": 168
2026-06-08T23:22:37.7037780Z             },
2026-06-08T23:22:37.7038064Z             {
2026-06-08T23:22:37.7038458Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-08T23:22:37.7038758Z               "line": 178
2026-06-08T23:22:37.7039040Z             },
2026-06-08T23:22:37.7039331Z             {
2026-06-08T23:22:37.7039726Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-08T23:22:37.7040032Z               "line": 210
2026-06-08T23:22:37.7040318Z             },
2026-06-08T23:22:37.7040602Z             {
2026-06-08T23:22:37.7040996Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-08T23:22:37.7041306Z               "line": 287
2026-06-08T23:22:37.7041587Z             },
2026-06-08T23:22:37.7041873Z             {
2026-06-08T23:22:37.7042269Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-08T23:22:37.7042565Z               "line": 311
2026-06-08T23:22:37.7042851Z             },
2026-06-08T23:22:37.7043132Z             {
2026-06-08T23:22:37.7043532Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-08T23:22:37.7043827Z               "line": 387
2026-06-08T23:22:37.7044113Z             },
2026-06-08T23:22:37.7044403Z             {
2026-06-08T23:22:37.7044796Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-08T23:22:37.7045101Z               "line": 436
2026-06-08T23:22:37.7045382Z             },
2026-06-08T23:22:37.7045668Z             {
2026-06-08T23:22:37.7046062Z               "path": "crates/spt-daemon/tests/budget.rs",
2026-06-08T23:22:37.7046360Z               "line": 37
2026-06-08T23:22:37.7046651Z             },
2026-06-08T23:22:37.7046937Z             {
2026-06-08T23:22:37.7047424Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.7047720Z               "line": 62
2026-06-08T23:22:37.7048002Z             },
2026-06-08T23:22:37.7048278Z             {
2026-06-08T23:22:37.7048653Z               "path": "crates/spt-store/src/info.rs",
2026-06-08T23:22:37.7048951Z               "line": 190
2026-06-08T23:22:37.7049237Z             },
2026-06-08T23:22:37.7049518Z             {
2026-06-08T23:22:37.7049866Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.7050172Z               "line": 1122
2026-06-08T23:22:37.7050457Z             }
2026-06-08T23:22:37.7050850Z           ]
2026-06-08T23:22:37.7051142Z         },
2026-06-08T23:22:37.7051422Z         "int": {
2026-06-08T23:22:37.7051727Z           "complete": false,
2026-06-08T23:22:37.7052018Z           "evidence": []
2026-06-08T23:22:37.7052300Z         },
2026-06-08T23:22:37.7052581Z         "unit": {
2026-06-08T23:22:37.7052981Z           "complete": true,
2026-06-08T23:22:37.7053282Z           "evidence": [
2026-06-08T23:22:37.7053553Z             {
2026-06-08T23:22:37.7053943Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-08T23:22:37.7054239Z               "line": 360
2026-06-08T23:22:37.7054521Z             },
2026-06-08T23:22:37.7054792Z             {
2026-06-08T23:22:37.7055193Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-08T23:22:37.7055493Z               "line": 664
2026-06-08T23:22:37.7055774Z             },
2026-06-08T23:22:37.7056071Z             {
2026-06-08T23:22:37.7056474Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-08T23:22:37.7056782Z               "line": 721
2026-06-08T23:22:37.7057149Z             },
2026-06-08T23:22:37.7057430Z             {
2026-06-08T23:22:37.7057855Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.7058155Z               "line": 1182
2026-06-08T23:22:37.7058446Z             },
2026-06-08T23:22:37.7058737Z             {
2026-06-08T23:22:37.7059170Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.7059482Z               "line": 1322
2026-06-08T23:22:37.7059763Z             },
2026-06-08T23:22:37.7060040Z             {
2026-06-08T23:22:37.7060436Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-08T23:22:37.7060737Z               "line": 447
2026-06-08T23:22:37.7061022Z             },
2026-06-08T23:22:37.7061308Z             {
2026-06-08T23:22:37.7061712Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-08T23:22:37.7062011Z               "line": 483
2026-06-08T23:22:37.7062296Z             },
2026-06-08T23:22:37.7062597Z             {
2026-06-08T23:22:37.7062988Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-08T23:22:37.7063294Z               "line": 538
2026-06-08T23:22:37.7063579Z             },
2026-06-08T23:22:37.7063866Z             {
2026-06-08T23:22:37.7064253Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-08T23:22:37.7064561Z               "line": 695
2026-06-08T23:22:37.7064846Z             },
2026-06-08T23:22:37.7065133Z             {
2026-06-08T23:22:37.7065529Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-08T23:22:37.7065839Z               "line": 929
2026-06-08T23:22:37.7066134Z             },
2026-06-08T23:22:37.7066421Z             {
2026-06-08T23:22:37.7066812Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-08T23:22:37.7067187Z               "line": 943
2026-06-08T23:22:37.7067466Z             },
2026-06-08T23:22:37.7067742Z             {
2026-06-08T23:22:37.7068134Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.7068440Z               "line": 1193
2026-06-08T23:22:37.7068720Z             },
2026-06-08T23:22:37.7069001Z             {
2026-06-08T23:22:37.7069369Z               "path": "crates/spt-store/src/info.rs",
2026-06-08T23:22:37.7069682Z               "line": 413
2026-06-08T23:22:37.7069976Z             },
2026-06-08T23:22:37.7070257Z             {
2026-06-08T23:22:37.7070614Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.7070910Z               "line": 4773
2026-06-08T23:22:37.7071191Z             }
2026-06-08T23:22:37.7071472Z           ]
2026-06-08T23:22:37.7071764Z         }
2026-06-08T23:22:37.7072051Z       }
2026-06-08T23:22:37.7072335Z     },
2026-06-08T23:22:37.7072619Z     {
2026-06-08T23:22:37.7072924Z       "id": "REQ-INST-4",
2026-06-08T23:22:37.7073491Z       "title": "active to dormant/suspended fires a transition echo commune",
2026-06-08T23:22:37.7073811Z       "requiredStages": [
2026-06-08T23:22:37.7074102Z         "impl",
2026-06-08T23:22:37.7074498Z         "unit"
2026-06-08T23:22:37.7074779Z       ],
2026-06-08T23:22:37.7075078Z       "stages": {
2026-06-08T23:22:37.7075364Z         "doc": {
2026-06-08T23:22:37.7075679Z           "complete": false,
2026-06-08T23:22:37.7075984Z           "evidence": []
2026-06-08T23:22:37.7076266Z         },
2026-06-08T23:22:37.7076647Z         "impl": {
2026-06-08T23:22:37.7077043Z           "complete": true,
2026-06-08T23:22:37.7077358Z           "evidence": [
2026-06-08T23:22:37.7077642Z             {
2026-06-08T23:22:37.7078055Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-08T23:22:37.7078360Z               "line": 292
2026-06-08T23:22:37.7078651Z             },
2026-06-08T23:22:37.7078942Z             {
2026-06-08T23:22:37.7079339Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-08T23:22:37.7079644Z               "line": 202
2026-06-08T23:22:37.7079929Z             },
2026-06-08T23:22:37.7080214Z             {
2026-06-08T23:22:37.7080598Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-08T23:22:37.7080898Z               "line": 234
2026-06-08T23:22:37.7081184Z             },
2026-06-08T23:22:37.7081470Z             {
2026-06-08T23:22:37.7081867Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-08T23:22:37.7082157Z               "line": 274
2026-06-08T23:22:37.7082443Z             }
2026-06-08T23:22:37.7082728Z           ]
2026-06-08T23:22:37.7083003Z         },
2026-06-08T23:22:37.7083290Z         "int": {
2026-06-08T23:22:37.7083594Z           "complete": false,
2026-06-08T23:22:37.7083899Z           "evidence": []
2026-06-08T23:22:37.7084177Z         },
2026-06-08T23:22:37.7084462Z         "unit": {
2026-06-08T23:22:37.7084767Z           "complete": true,
2026-06-08T23:22:37.7085063Z           "evidence": [
2026-06-08T23:22:37.7085339Z             {
2026-06-08T23:22:37.7085748Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-08T23:22:37.7086048Z               "line": 716
2026-06-08T23:22:37.7089144Z             },
2026-06-08T23:22:37.7089478Z             {
2026-06-08T23:22:37.7089894Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-08T23:22:37.7090199Z               "line": 559
2026-06-08T23:22:37.7090485Z             },
2026-06-08T23:22:37.7090769Z             {
2026-06-08T23:22:37.7091177Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-08T23:22:37.7091487Z               "line": 666
2026-06-08T23:22:37.7091773Z             },
2026-06-08T23:22:37.7092054Z             {
2026-06-08T23:22:37.7092456Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-08T23:22:37.7092756Z               "line": 748
2026-06-08T23:22:37.7093042Z             }
2026-06-08T23:22:37.7093326Z           ]
2026-06-08T23:22:37.7093610Z         }
2026-06-08T23:22:37.7093892Z       }
2026-06-08T23:22:37.7094164Z     },
2026-06-08T23:22:37.7094450Z     {
2026-06-08T23:22:37.7094755Z       "id": "REQ-INST-5",
2026-06-08T23:22:37.7095333Z       "title": "Two-tier context sync (live to all, project to same-project)",
2026-06-08T23:22:37.7095652Z       "requiredStages": [
2026-06-08T23:22:37.7095938Z         "impl",
2026-06-08T23:22:37.7096227Z         "unit",
2026-06-08T23:22:37.7096508Z         "int"
2026-06-08T23:22:37.7096794Z       ],
2026-06-08T23:22:37.7097147Z       "stages": {
2026-06-08T23:22:37.7097438Z         "doc": {
2026-06-08T23:22:37.7097748Z           "complete": false,
2026-06-08T23:22:37.7098043Z           "evidence": []
2026-06-08T23:22:37.7098316Z         },
2026-06-08T23:22:37.7098603Z         "impl": {
2026-06-08T23:22:37.7098911Z           "complete": true,
2026-06-08T23:22:37.7099205Z           "evidence": [
2026-06-08T23:22:37.7099481Z             {
2026-06-08T23:22:37.7099891Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-08T23:22:37.7100187Z               "line": 41
2026-06-08T23:22:37.7100479Z             },
2026-06-08T23:22:37.7100759Z             {
2026-06-08T23:22:37.7101136Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-08T23:22:37.7101585Z               "line": 68
2026-06-08T23:22:37.7101866Z             },
2026-06-08T23:22:37.7102148Z             {
2026-06-08T23:22:37.7102529Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-08T23:22:37.7102834Z               "line": 99
2026-06-08T23:22:37.7103115Z             },
2026-06-08T23:22:37.7103496Z             {
2026-06-08T23:22:37.7103877Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-08T23:22:37.7104175Z               "line": 183
2026-06-08T23:22:37.7104461Z             },
2026-06-08T23:22:37.7104744Z             {
2026-06-08T23:22:37.7105129Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-08T23:22:37.7105430Z               "line": 314
2026-06-08T23:22:37.7105710Z             }
2026-06-08T23:22:37.7105993Z           ]
2026-06-08T23:22:37.7106270Z         },
2026-06-08T23:22:37.7106556Z         "int": {
2026-06-08T23:22:37.7106864Z           "complete": true,
2026-06-08T23:22:37.7107260Z           "evidence": [
2026-06-08T23:22:37.7107556Z             {
2026-06-08T23:22:37.7107971Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-08T23:22:37.7108274Z               "line": 156
2026-06-08T23:22:37.7108557Z             },
2026-06-08T23:22:37.7108839Z             {
2026-06-08T23:22:37.7109256Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-08T23:22:37.7109569Z               "line": 102
2026-06-08T23:22:37.7109851Z             },
2026-06-08T23:22:37.7110132Z             {
2026-06-08T23:22:37.7110537Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-08T23:22:37.7110847Z               "line": 635
2026-06-08T23:22:37.7111151Z             },
2026-06-08T23:22:37.7111428Z             {
2026-06-08T23:22:37.7111842Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-08T23:22:37.7112140Z               "line": 972
2026-06-08T23:22:37.7112427Z             }
2026-06-08T23:22:37.7112708Z           ]
2026-06-08T23:22:37.7112994Z         },
2026-06-08T23:22:37.7113290Z         "unit": {
2026-06-08T23:22:37.7113610Z           "complete": true,
2026-06-08T23:22:37.7113911Z           "evidence": [
2026-06-08T23:22:37.7114191Z             {
2026-06-08T23:22:37.7114567Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-08T23:22:37.7114869Z               "line": 531
2026-06-08T23:22:37.7115150Z             },
2026-06-08T23:22:37.7115436Z             {
2026-06-08T23:22:37.7115809Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-08T23:22:37.7116114Z               "line": 574
2026-06-08T23:22:37.7116400Z             },
2026-06-08T23:22:37.7116681Z             {
2026-06-08T23:22:37.7117149Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-08T23:22:37.7117448Z               "line": 219
2026-06-08T23:22:37.7117729Z             }
2026-06-08T23:22:37.7118006Z           ]
2026-06-08T23:22:37.7118286Z         }
2026-06-08T23:22:37.7118563Z       }
2026-06-08T23:22:37.7118839Z     },
2026-06-08T23:22:37.7119131Z     {
2026-06-08T23:22:37.7119432Z       "id": "REQ-INST-6",
2026-06-08T23:22:37.7120050Z       "title": "Deferred messages not delivered to dormant/suspended instances",
2026-06-08T23:22:37.7120359Z       "requiredStages": [
2026-06-08T23:22:37.7120645Z         "impl",
2026-06-08T23:22:37.7120926Z         "unit",
2026-06-08T23:22:37.7121206Z         "int"
2026-06-08T23:22:37.7121492Z       ],
2026-06-08T23:22:37.7121778Z       "stages": {
2026-06-08T23:22:37.7122065Z         "doc": {
2026-06-08T23:22:37.7122374Z           "complete": true,
2026-06-08T23:22:37.7122668Z           "evidence": [
2026-06-08T23:22:37.7122949Z             {
2026-06-08T23:22:37.7123287Z               "path": "docs/DEFERRED.md",
2026-06-08T23:22:37.7123578Z               "line": 13
2026-06-08T23:22:37.7123851Z             }
2026-06-08T23:22:37.7124122Z           ]
2026-06-08T23:22:37.7124398Z         },
2026-06-08T23:22:37.7124674Z         "impl": {
2026-06-08T23:22:37.7124969Z           "complete": true,
2026-06-08T23:22:37.7125267Z           "evidence": [
2026-06-08T23:22:37.7125648Z             {
2026-06-08T23:22:37.7126054Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-08T23:22:37.7126355Z               "line": 391
2026-06-08T23:22:37.7126645Z             },
2026-06-08T23:22:37.7126931Z             {
2026-06-08T23:22:37.7127418Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-08T23:22:37.7127822Z               "line": 27
2026-06-08T23:22:37.7128113Z             },
2026-06-08T23:22:37.7128395Z             {
2026-06-08T23:22:37.7128794Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-08T23:22:37.7129091Z               "line": 73
2026-06-08T23:22:37.7129377Z             },
2026-06-08T23:22:37.7129658Z             {
2026-06-08T23:22:37.7130049Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-08T23:22:37.7130353Z               "line": 182
2026-06-08T23:22:37.7130629Z             },
2026-06-08T23:22:37.7130909Z             {
2026-06-08T23:22:37.7131300Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-08T23:22:37.7131614Z               "line": 424
2026-06-08T23:22:37.7131906Z             },
2026-06-08T23:22:37.7132183Z             {
2026-06-08T23:22:37.7132558Z               "path": "crates/spt-net/src/net/rest.rs",
2026-06-08T23:22:37.7132850Z               "line": 31
2026-06-08T23:22:37.7133134Z             },
2026-06-08T23:22:37.7133418Z             {
2026-06-08T23:22:37.7133805Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-08T23:22:37.7134101Z               "line": 182
2026-06-08T23:22:37.7134377Z             },
2026-06-08T23:22:37.7134663Z             {
2026-06-08T23:22:37.7135031Z               "path": "crates/spt/src/api/worker.rs",
2026-06-08T23:22:37.7135336Z               "line": 81
2026-06-08T23:22:37.7135614Z             },
2026-06-08T23:22:37.7135908Z             {
2026-06-08T23:22:37.7136251Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.7136552Z               "line": 1123
2026-06-08T23:22:37.7136838Z             },
2026-06-08T23:22:37.7137186Z             {
2026-06-08T23:22:37.7137550Z               "path": "crates/spt/src/wansend.rs",
2026-06-08T23:22:37.7137844Z               "line": 179
2026-06-08T23:22:37.7138121Z             },
2026-06-08T23:22:37.7138406Z             {
2026-06-08T23:22:37.7138763Z               "path": "crates/spt/src/wansend.rs",
2026-06-08T23:22:37.7139073Z               "line": 215
2026-06-08T23:22:37.7139383Z             }
2026-06-08T23:22:37.7139669Z           ]
2026-06-08T23:22:37.7139946Z         },
2026-06-08T23:22:37.7140232Z         "int": {
2026-06-08T23:22:37.7140547Z           "complete": true,
2026-06-08T23:22:37.7140848Z           "evidence": [
2026-06-08T23:22:37.7141137Z             {
2026-06-08T23:22:37.7141541Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-08T23:22:37.7141846Z               "line": 649
2026-06-08T23:22:37.7142127Z             },
2026-06-08T23:22:37.7142409Z             {
2026-06-08T23:22:37.7142818Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-08T23:22:37.7143123Z               "line": 1017
2026-06-08T23:22:37.7143410Z             },
2026-06-08T23:22:37.7143689Z             {
2026-06-08T23:22:37.7144046Z               "path": "crates/spt/src/wansend.rs",
2026-06-08T23:22:37.7144351Z               "line": 725
2026-06-08T23:22:37.7144632Z             }
2026-06-08T23:22:37.7144918Z           ]
2026-06-08T23:22:37.7145199Z         },
2026-06-08T23:22:37.7145489Z         "unit": {
2026-06-08T23:22:37.7145795Z           "complete": true,
2026-06-08T23:22:37.7146094Z           "evidence": [
2026-06-08T23:22:37.7146378Z             {
2026-06-08T23:22:37.7146783Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-08T23:22:37.7147165Z               "line": 660
2026-06-08T23:22:37.7147436Z             },
2026-06-08T23:22:37.7147717Z             {
2026-06-08T23:22:37.7148110Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-08T23:22:37.7148409Z               "line": 897
2026-06-08T23:22:37.7148691Z             },
2026-06-08T23:22:37.7149085Z             {
2026-06-08T23:22:37.7149525Z               "path": "crates/spt-net/src/net/rest.rs",
2026-06-08T23:22:37.7149820Z               "line": 66
2026-06-08T23:22:37.7150107Z             },
2026-06-08T23:22:37.7150388Z             {
2026-06-08T23:22:37.7150774Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-08T23:22:37.7151183Z               "line": 272
2026-06-08T23:22:37.7151469Z             },
2026-06-08T23:22:37.7151753Z             {
2026-06-08T23:22:37.7152120Z               "path": "crates/spt/src/api/worker.rs",
2026-06-08T23:22:37.7152416Z               "line": 201
2026-06-08T23:22:37.7152697Z             }
2026-06-08T23:22:37.7152974Z           ]
2026-06-08T23:22:37.7153260Z         }
2026-06-08T23:22:37.7153541Z       }
2026-06-08T23:22:37.7153822Z     },
2026-06-08T23:22:37.7154097Z     {
2026-06-08T23:22:37.7154410Z       "id": "REQ-INST-7",
2026-06-08T23:22:37.7154863Z       "title": "Subnet registry + bare-id resolution policy",
2026-06-08T23:22:37.7155183Z       "requiredStages": [
2026-06-08T23:22:37.7155478Z         "impl",
2026-06-08T23:22:37.7155769Z         "unit",
2026-06-08T23:22:37.7156049Z         "int"
2026-06-08T23:22:37.7156326Z       ],
2026-06-08T23:22:37.7156617Z       "stages": {
2026-06-08T23:22:37.7156901Z         "doc": {
2026-06-08T23:22:37.7157295Z           "complete": false,
2026-06-08T23:22:37.7157596Z           "evidence": []
2026-06-08T23:22:37.7157883Z         },
2026-06-08T23:22:37.7158169Z         "impl": {
2026-06-08T23:22:37.7158474Z           "complete": true,
2026-06-08T23:22:37.7158765Z           "evidence": [
2026-06-08T23:22:37.7159037Z             {
2026-06-08T23:22:37.7159460Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-08T23:22:37.7159760Z               "line": 436
2026-06-08T23:22:37.7160042Z             },
2026-06-08T23:22:37.7160324Z             {
2026-06-08T23:22:37.7160723Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-08T23:22:37.7161019Z               "line": 42
2026-06-08T23:22:37.7161306Z             },
2026-06-08T23:22:37.7161592Z             {
2026-06-08T23:22:37.7162025Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.7162328Z               "line": 27
2026-06-08T23:22:37.7162609Z             },
2026-06-08T23:22:37.7162891Z             {
2026-06-08T23:22:37.7163324Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.7163619Z               "line": 191
2026-06-08T23:22:37.7163905Z             },
2026-06-08T23:22:37.7164197Z             {
2026-06-08T23:22:37.7164624Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.7164936Z               "line": 328
2026-06-08T23:22:37.7165218Z             },
2026-06-08T23:22:37.7165495Z             {
2026-06-08T23:22:37.7165881Z               "path": "crates/spt-net/src/net/ndjson.rs",
2026-06-08T23:22:37.7166181Z               "line": 59
2026-06-08T23:22:37.7166472Z             },
2026-06-08T23:22:37.7166754Z             {
2026-06-08T23:22:37.7167252Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.7167550Z               "line": 41
2026-06-08T23:22:37.7167842Z             },
2026-06-08T23:22:37.7168128Z             {
2026-06-08T23:22:37.7168547Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-08T23:22:37.7168852Z               "line": 27
2026-06-08T23:22:37.7169139Z             },
2026-06-08T23:22:37.7169434Z             {
2026-06-08T23:22:37.7169845Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-08T23:22:37.7170143Z               "line": 119
2026-06-08T23:22:37.7170415Z             },
2026-06-08T23:22:37.7170692Z             {
2026-06-08T23:22:37.7171092Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-08T23:22:37.7171392Z               "line": 134
2026-06-08T23:22:37.7171679Z             },
2026-06-08T23:22:37.7171965Z             {
2026-06-08T23:22:37.7172361Z               "path": "crates/spt-store/src/registry.rs",
2026-06-08T23:22:37.7172656Z               "line": 139
2026-06-08T23:22:37.7173058Z             }
2026-06-08T23:22:37.7173339Z           ]
2026-06-08T23:22:37.7173625Z         },
2026-06-08T23:22:37.7173912Z         "int": {
2026-06-08T23:22:37.7174222Z           "complete": true,
2026-06-08T23:22:37.7174517Z           "evidence": [
2026-06-08T23:22:37.7174894Z             {
2026-06-08T23:22:37.7175313Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-08T23:22:37.7175605Z               "line": 102
2026-06-08T23:22:37.7175892Z             },
2026-06-08T23:22:37.7176159Z             {
2026-06-08T23:22:37.7176550Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-08T23:22:37.7176851Z               "line": 593
2026-06-08T23:22:37.7177218Z             },
2026-06-08T23:22:37.7177504Z             {
2026-06-08T23:22:37.7177918Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-08T23:22:37.7178216Z               "line": 867
2026-06-08T23:22:37.7178502Z             }
2026-06-08T23:22:37.7178792Z           ]
2026-06-08T23:22:37.7179074Z         },
2026-06-08T23:22:37.7179360Z         "unit": {
2026-06-08T23:22:37.7179675Z           "complete": true,
2026-06-08T23:22:37.7179975Z           "evidence": [
2026-06-08T23:22:37.7180256Z             {
2026-06-08T23:22:37.7180684Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.7180999Z               "line": 1052
2026-06-08T23:22:37.7181286Z             },
2026-06-08T23:22:37.7181567Z             {
2026-06-08T23:22:37.7181991Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.7182296Z               "line": 1383
2026-06-08T23:22:37.7182578Z             },
2026-06-08T23:22:37.7182863Z             {
2026-06-08T23:22:37.7183282Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-08T23:22:37.7183594Z               "line": 84
2026-06-08T23:22:37.7183880Z             },
2026-06-08T23:22:37.7184167Z             {
2026-06-08T23:22:37.7184572Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.7184883Z               "line": 763
2026-06-08T23:22:37.7185168Z             },
2026-06-08T23:22:37.7185455Z             {
2026-06-08T23:22:37.7185853Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.7186157Z               "line": 774
2026-06-08T23:22:37.7186452Z             },
2026-06-08T23:22:37.7186733Z             {
2026-06-08T23:22:37.7187212Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.7187502Z               "line": 789
2026-06-08T23:22:37.7187788Z             },
2026-06-08T23:22:37.7188069Z             {
2026-06-08T23:22:37.7188473Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-08T23:22:37.7188767Z               "line": 165
2026-06-08T23:22:37.7189042Z             },
2026-06-08T23:22:37.7189319Z             {
2026-06-08T23:22:37.7189745Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-08T23:22:37.7190045Z               "line": 180
2026-06-08T23:22:37.7190336Z             },
2026-06-08T23:22:37.7190626Z             {
2026-06-08T23:22:37.7191033Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-08T23:22:37.7191336Z               "line": 213
2026-06-08T23:22:37.7191612Z             }
2026-06-08T23:22:37.7191902Z           ]
2026-06-08T23:22:37.7192184Z         }
2026-06-08T23:22:37.7192475Z       }
2026-06-08T23:22:37.7192756Z     },
2026-06-08T23:22:37.7193038Z     {
2026-06-08T23:22:37.7193344Z       "id": "REQ-INST-8",
2026-06-08T23:22:37.7193828Z       "title": "Remote-control mode distinct from local operation",
2026-06-08T23:22:37.7194145Z       "requiredStages": [
2026-06-08T23:22:37.7194436Z         "impl",
2026-06-08T23:22:37.7194736Z         "unit",
2026-06-08T23:22:37.7195018Z         "int"
2026-06-08T23:22:37.7195304Z       ],
2026-06-08T23:22:37.7195595Z       "stages": {
2026-06-08T23:22:37.7195882Z         "doc": {
2026-06-08T23:22:37.7196197Z           "complete": false,
2026-06-08T23:22:37.7196500Z           "evidence": []
2026-06-08T23:22:37.7196899Z         },
2026-06-08T23:22:37.7197280Z         "impl": {
2026-06-08T23:22:37.7197590Z           "complete": true,
2026-06-08T23:22:37.7197891Z           "evidence": [
2026-06-08T23:22:37.7198176Z             {
2026-06-08T23:22:37.7198567Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-08T23:22:37.7198985Z               "line": 98
2026-06-08T23:22:37.7199317Z             },
2026-06-08T23:22:37.7199603Z             {
2026-06-08T23:22:37.7200005Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-08T23:22:37.7200305Z               "line": 209
2026-06-08T23:22:37.7200586Z             },
2026-06-08T23:22:37.7200872Z             {
2026-06-08T23:22:37.7201268Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-08T23:22:37.7201560Z               "line": 230
2026-06-08T23:22:37.7201857Z             },
2026-06-08T23:22:37.7202139Z             {
2026-06-08T23:22:37.7202540Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-08T23:22:37.7202831Z               "line": 35
2026-06-08T23:22:37.7203121Z             }
2026-06-08T23:22:37.7203407Z           ]
2026-06-08T23:22:37.7203712Z         },
2026-06-08T23:22:37.7204008Z         "int": {
2026-06-08T23:22:37.7204313Z           "complete": true,
2026-06-08T23:22:37.7204620Z           "evidence": [
2026-06-08T23:22:37.7204911Z             {
2026-06-08T23:22:37.7205335Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-08T23:22:37.7205640Z               "line": 414
2026-06-08T23:22:37.7205926Z             },
2026-06-08T23:22:37.7206212Z             {
2026-06-08T23:22:37.7206622Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-08T23:22:37.7206926Z               "line": 931
2026-06-08T23:22:37.7207301Z             }
2026-06-08T23:22:37.7207586Z           ]
2026-06-08T23:22:37.7207868Z         },
2026-06-08T23:22:37.7208164Z         "unit": {
2026-06-08T23:22:37.7208484Z           "complete": true,
2026-06-08T23:22:37.7208784Z           "evidence": [
2026-06-08T23:22:37.7209080Z             {
2026-06-08T23:22:37.7209479Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-08T23:22:37.7209781Z               "line": 181
2026-06-08T23:22:37.7210073Z             },
2026-06-08T23:22:37.7210355Z             {
2026-06-08T23:22:37.7210764Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-08T23:22:37.7211074Z               "line": 259
2026-06-08T23:22:37.7211365Z             },
2026-06-08T23:22:37.7211650Z             {
2026-06-08T23:22:37.7212047Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-08T23:22:37.7212351Z               "line": 70
2026-06-08T23:22:37.7212637Z             },
2026-06-08T23:22:37.7212919Z             {
2026-06-08T23:22:37.7213314Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-08T23:22:37.7213614Z               "line": 110
2026-06-08T23:22:37.7213901Z             }
2026-06-08T23:22:37.7214186Z           ]
2026-06-08T23:22:37.7214478Z         }
2026-06-08T23:22:37.7214760Z       }
2026-06-08T23:22:37.7215054Z     },
2026-06-08T23:22:37.7215333Z     {
2026-06-08T23:22:37.7215643Z       "id": "REQ-INST-9",
2026-06-08T23:22:37.7216248Z       "title": "Multi-subnet membership (same-user N subnets; cross-user seam)",
2026-06-08T23:22:37.7216568Z       "requiredStages": [
2026-06-08T23:22:37.7216854Z         "impl",
2026-06-08T23:22:37.7217232Z         "unit"
2026-06-08T23:22:37.7217520Z       ],
2026-06-08T23:22:37.7217808Z       "stages": {
2026-06-08T23:22:37.7218100Z         "doc": {
2026-06-08T23:22:37.7218409Z           "complete": false,
2026-06-08T23:22:37.7218719Z           "evidence": []
2026-06-08T23:22:37.7219001Z         },
2026-06-08T23:22:37.7219292Z         "impl": {
2026-06-08T23:22:37.7219602Z           "complete": true,
2026-06-08T23:22:37.7219903Z           "evidence": [
2026-06-08T23:22:37.7220187Z             {
2026-06-08T23:22:37.7220595Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.7220896Z               "line": 401
2026-06-08T23:22:37.7221296Z             }
2026-06-08T23:22:37.7221582Z           ]
2026-06-08T23:22:37.7221868Z         },
2026-06-08T23:22:37.7222155Z         "int": {
2026-06-08T23:22:37.7222465Z           "complete": false,
2026-06-08T23:22:37.7222775Z           "evidence": []
2026-06-08T23:22:37.7223060Z         },
2026-06-08T23:22:37.7223451Z         "unit": {
2026-06-08T23:22:37.7223765Z           "complete": true,
2026-06-08T23:22:37.7224066Z           "evidence": [
2026-06-08T23:22:37.7224352Z             {
2026-06-08T23:22:37.7224765Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.7225071Z               "line": 1300
2026-06-08T23:22:37.7225358Z             },
2026-06-08T23:22:37.7225652Z             {
2026-06-08T23:22:37.7226055Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.7226365Z               "line": 1309
2026-06-08T23:22:37.7226646Z             },
2026-06-08T23:22:37.7226933Z             {
2026-06-08T23:22:37.7227429Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.7227748Z               "line": 1325
2026-06-08T23:22:37.7228038Z             },
2026-06-08T23:22:37.7228321Z             {
2026-06-08T23:22:37.7228721Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.7229013Z               "line": 1337
2026-06-08T23:22:37.7229308Z             },
2026-06-08T23:22:37.7229589Z             {
2026-06-08T23:22:37.7229990Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.7230291Z               "line": 1357
2026-06-08T23:22:37.7230571Z             }
2026-06-08T23:22:37.7230860Z           ]
2026-06-08T23:22:37.7231141Z         }
2026-06-08T23:22:37.7231427Z       }
2026-06-08T23:22:37.7231704Z     },
2026-06-08T23:22:37.7231996Z     {
2026-06-08T23:22:37.7232315Z       "id": "REQ-INSTALL-1",
2026-06-08T23:22:37.7232935Z       "title": "Two install paths; signed one-line script; OS-service registration",
2026-06-08T23:22:37.7233259Z       "requiredStages": [
2026-06-08T23:22:37.7233552Z         "doc",
2026-06-08T23:22:37.7233843Z         "impl",
2026-06-08T23:22:37.7234129Z         "int"
2026-06-08T23:22:37.7234416Z       ],
2026-06-08T23:22:37.7234716Z       "stages": {
2026-06-08T23:22:37.7235006Z         "doc": {
2026-06-08T23:22:37.7235317Z           "complete": true,
2026-06-08T23:22:37.7235622Z           "evidence": [
2026-06-08T23:22:37.7235904Z             {
2026-06-08T23:22:37.7236221Z               "path": "CONTEXT.md",
2026-06-08T23:22:37.7236526Z               "line": 576
2026-06-08T23:22:37.7236812Z             }
2026-06-08T23:22:37.7237174Z           ]
2026-06-08T23:22:37.7237460Z         },
2026-06-08T23:22:37.7237751Z         "impl": {
2026-06-08T23:22:37.7238066Z           "complete": true,
2026-06-08T23:22:37.7238367Z           "evidence": [
2026-06-08T23:22:37.7238654Z             {
2026-06-08T23:22:37.7239015Z               "path": "installer/install.ps1",
2026-06-08T23:22:37.7239316Z               "line": 57
2026-06-08T23:22:37.7239611Z             },
2026-06-08T23:22:37.7239902Z             {
2026-06-08T23:22:37.7240250Z               "path": "installer/install.sh",
2026-06-08T23:22:37.7240546Z               "line": 52
2026-06-08T23:22:37.7240827Z             }
2026-06-08T23:22:37.7241112Z           ]
2026-06-08T23:22:37.7241391Z         },
2026-06-08T23:22:37.7241674Z         "int": {
2026-06-08T23:22:37.7241983Z           "complete": true,
2026-06-08T23:22:37.7242288Z           "evidence": [
2026-06-08T23:22:37.7242560Z             {
2026-06-08T23:22:37.7242964Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-08T23:22:37.7243265Z               "line": 21
2026-06-08T23:22:37.7243538Z             }
2026-06-08T23:22:37.7243824Z           ]
2026-06-08T23:22:37.7244108Z         },
2026-06-08T23:22:37.7244388Z         "unit": {
2026-06-08T23:22:37.7244694Z           "complete": false,
2026-06-08T23:22:37.7245009Z           "evidence": []
2026-06-08T23:22:37.7245300Z         }
2026-06-08T23:22:37.7245576Z       }
2026-06-08T23:22:37.7245991Z     },
2026-06-08T23:22:37.7246273Z     {
2026-06-08T23:22:37.7246591Z       "id": "REQ-INSTALL-2",
2026-06-08T23:22:37.7247119Z       "title": "Marketplace-repackaging-friendly install",
2026-06-08T23:22:37.7247438Z       "requiredStages": [
2026-06-08T23:22:37.7247724Z         "doc"
2026-06-08T23:22:37.7248006Z       ],
2026-06-08T23:22:37.7248396Z       "stages": {
2026-06-08T23:22:37.7248683Z         "doc": {
2026-06-08T23:22:37.7248993Z           "complete": true,
2026-06-08T23:22:37.7249296Z           "evidence": [
2026-06-08T23:22:37.7249585Z             {
2026-06-08T23:22:37.7249905Z               "path": "CONTEXT.md",
2026-06-08T23:22:37.7250205Z               "line": 577
2026-06-08T23:22:37.7250491Z             }
2026-06-08T23:22:37.7250781Z           ]
2026-06-08T23:22:37.7251067Z         },
2026-06-08T23:22:37.7251359Z         "impl": {
2026-06-08T23:22:37.7251687Z           "complete": false,
2026-06-08T23:22:37.7251994Z           "evidence": []
2026-06-08T23:22:37.7252276Z         },
2026-06-08T23:22:37.7252582Z         "int": {
2026-06-08T23:22:37.7252900Z           "complete": false,
2026-06-08T23:22:37.7253205Z           "evidence": []
2026-06-08T23:22:37.7253488Z         },
2026-06-08T23:22:37.7253779Z         "unit": {
2026-06-08T23:22:37.7254089Z           "complete": false,
2026-06-08T23:22:37.7254399Z           "evidence": []
2026-06-08T23:22:37.7254692Z         }
2026-06-08T23:22:37.7254983Z       }
2026-06-08T23:22:37.7255264Z     },
2026-06-08T23:22:37.7255545Z     {
2026-06-08T23:22:37.7255860Z       "id": "REQ-INSTALL-3",
2026-06-08T23:22:37.7256324Z       "title": "Idempotent + interactive-optional first run",
2026-06-08T23:22:37.7256648Z       "requiredStages": [
2026-06-08T23:22:37.7256934Z         "impl",
2026-06-08T23:22:37.7257313Z         "int"
2026-06-08T23:22:37.7257603Z       ],
2026-06-08T23:22:37.7257893Z       "stages": {
2026-06-08T23:22:37.7258189Z         "doc": {
2026-06-08T23:22:37.7258499Z           "complete": false,
2026-06-08T23:22:37.7258814Z           "evidence": []
2026-06-08T23:22:37.7259104Z         },
2026-06-08T23:22:37.7259395Z         "impl": {
2026-06-08T23:22:37.7259708Z           "complete": true,
2026-06-08T23:22:37.7260007Z           "evidence": [
2026-06-08T23:22:37.7260297Z             {
2026-06-08T23:22:37.7260660Z               "path": "installer/install.ps1",
2026-06-08T23:22:37.7260970Z               "line": 100
2026-06-08T23:22:37.7261261Z             },
2026-06-08T23:22:37.7261542Z             {
2026-06-08T23:22:37.7261899Z               "path": "installer/install.ps1",
2026-06-08T23:22:37.7262204Z               "line": 111
2026-06-08T23:22:37.7262498Z             },
2026-06-08T23:22:37.7262779Z             {
2026-06-08T23:22:37.7263137Z               "path": "installer/install.sh",
2026-06-08T23:22:37.7263437Z               "line": 79
2026-06-08T23:22:37.7263728Z             }
2026-06-08T23:22:37.7264019Z           ]
2026-06-08T23:22:37.7264301Z         },
2026-06-08T23:22:37.7264591Z         "int": {
2026-06-08T23:22:37.7264906Z           "complete": true,
2026-06-08T23:22:37.7265208Z           "evidence": [
2026-06-08T23:22:37.7265490Z             {
2026-06-08T23:22:37.7265892Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-08T23:22:37.7266202Z               "line": 167
2026-06-08T23:22:37.7266487Z             }
2026-06-08T23:22:37.7266773Z           ]
2026-06-08T23:22:37.7267146Z         },
2026-06-08T23:22:37.7267441Z         "unit": {
2026-06-08T23:22:37.7267749Z           "complete": false,
2026-06-08T23:22:37.7268048Z           "evidence": []
2026-06-08T23:22:37.7268329Z         }
2026-06-08T23:22:37.7268611Z       }
2026-06-08T23:22:37.7268897Z     },
2026-06-08T23:22:37.7269173Z     {
2026-06-08T23:22:37.7269488Z       "id": "REQ-INSTALL-4",
2026-06-08T23:22:37.7271587Z       "title": "Adapter registration lifecycle: spt adapter add (--github, manifest-first, install-is-first-update) + soft-deregister remove + optional manifest uninstall template; node-local registered-adapter set self-update ripples over",
2026-06-08T23:22:37.7272013Z       "requiredStages": [
2026-06-08T23:22:37.7272304Z         "impl",
2026-06-08T23:22:37.7272594Z         "unit"
2026-06-08T23:22:37.7272873Z       ],
2026-06-08T23:22:37.7273171Z       "stages": {
2026-06-08T23:22:37.7273467Z         "doc": {
2026-06-08T23:22:37.7273782Z           "complete": false,
2026-06-08T23:22:37.7274178Z           "evidence": []
2026-06-08T23:22:37.7274459Z         },
2026-06-08T23:22:37.7274745Z         "impl": {
2026-06-08T23:22:37.7275065Z           "complete": true,
2026-06-08T23:22:37.7275359Z           "evidence": [
2026-06-08T23:22:37.7275641Z             {
2026-06-08T23:22:37.7276089Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-08T23:22:37.7276389Z               "line": 154
2026-06-08T23:22:37.7276670Z             },
2026-06-08T23:22:37.7277038Z             {
2026-06-08T23:22:37.7277449Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-08T23:22:37.7277745Z               "line": 29
2026-06-08T23:22:37.7278026Z             },
2026-06-08T23:22:37.7278305Z             {
2026-06-08T23:22:37.7278718Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-08T23:22:37.7279018Z               "line": 117
2026-06-08T23:22:37.7279309Z             },
2026-06-08T23:22:37.7279600Z             {
2026-06-08T23:22:37.7280006Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-08T23:22:37.7280321Z               "line": 161
2026-06-08T23:22:37.7280607Z             },
2026-06-08T23:22:37.7280890Z             {
2026-06-08T23:22:37.7281300Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-08T23:22:37.7281600Z               "line": 191
2026-06-08T23:22:37.7281885Z             },
2026-06-08T23:22:37.7282171Z             {
2026-06-08T23:22:37.7282578Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-08T23:22:37.7282883Z               "line": 223
2026-06-08T23:22:37.7283169Z             },
2026-06-08T23:22:37.7283453Z             {
2026-06-08T23:22:37.7283798Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.7284109Z               "line": 3502
2026-06-08T23:22:37.7284399Z             }
2026-06-08T23:22:37.7284681Z           ]
2026-06-08T23:22:37.7284971Z         },
2026-06-08T23:22:37.7285257Z         "int": {
2026-06-08T23:22:37.7285568Z           "complete": false,
2026-06-08T23:22:37.7285877Z           "evidence": []
2026-06-08T23:22:37.7286164Z         },
2026-06-08T23:22:37.7286455Z         "unit": {
2026-06-08T23:22:37.7286765Z           "complete": true,
2026-06-08T23:22:37.7287146Z           "evidence": [
2026-06-08T23:22:37.7287431Z             {
2026-06-08T23:22:37.7287870Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-08T23:22:37.7288175Z               "line": 334
2026-06-08T23:22:37.7288465Z             },
2026-06-08T23:22:37.7288756Z             {
2026-06-08T23:22:37.7289158Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-08T23:22:37.7289454Z               "line": 269
2026-06-08T23:22:37.7289726Z             },
2026-06-08T23:22:37.7290017Z             {
2026-06-08T23:22:37.7290417Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-08T23:22:37.7290723Z               "line": 310
2026-06-08T23:22:37.7291008Z             },
2026-06-08T23:22:37.7291295Z             {
2026-06-08T23:22:37.7291696Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-08T23:22:37.7292001Z               "line": 330
2026-06-08T23:22:37.7292293Z             },
2026-06-08T23:22:37.7292574Z             {
2026-06-08T23:22:37.7292918Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.7293222Z               "line": 5072
2026-06-08T23:22:37.7293500Z             }
2026-06-08T23:22:37.7293787Z           ]
2026-06-08T23:22:37.7294056Z         }
2026-06-08T23:22:37.7294344Z       }
2026-06-08T23:22:37.7294625Z     },
2026-06-08T23:22:37.7294902Z     {
2026-06-08T23:22:37.7295222Z       "id": "REQ-INSTALL-5",
2026-06-08T23:22:37.7296851Z       "title": "Non-interactive install path: the canonical one-liner doubles as every adapter's pack-in on-demand install (no second mechanism); sha256-verified fetch; user-PATH registration",
2026-06-08T23:22:37.7300010Z       "requiredStages": [
2026-06-08T23:22:37.7300324Z         "impl",
2026-06-08T23:22:37.7300615Z         "int"
2026-06-08T23:22:37.7300902Z       ],
2026-06-08T23:22:37.7301340Z       "stages": {
2026-06-08T23:22:37.7301626Z         "doc": {
2026-06-08T23:22:37.7301945Z           "complete": false,
2026-06-08T23:22:37.7302242Z           "evidence": []
2026-06-08T23:22:37.7302529Z         },
2026-06-08T23:22:37.7302820Z         "impl": {
2026-06-08T23:22:37.7303129Z           "complete": true,
2026-06-08T23:22:37.7303426Z           "evidence": [
2026-06-08T23:22:37.7303712Z             {
2026-06-08T23:22:37.7304074Z               "path": "installer/install.ps1",
2026-06-08T23:22:37.7304366Z               "line": 5
2026-06-08T23:22:37.7304650Z             },
2026-06-08T23:22:37.7304929Z             {
2026-06-08T23:22:37.7305282Z               "path": "installer/install.sh",
2026-06-08T23:22:37.7305582Z               "line": 6
2026-06-08T23:22:37.7305868Z             }
2026-06-08T23:22:37.7306135Z           ]
2026-06-08T23:22:37.7306411Z         },
2026-06-08T23:22:37.7306683Z         "int": {
2026-06-08T23:22:37.7307064Z           "complete": true,
2026-06-08T23:22:37.7307374Z           "evidence": [
2026-06-08T23:22:37.7307650Z             {
2026-06-08T23:22:37.7308055Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-08T23:22:37.7308346Z               "line": 22
2026-06-08T23:22:37.7308628Z             }
2026-06-08T23:22:37.7308909Z           ]
2026-06-08T23:22:37.7309195Z         },
2026-06-08T23:22:37.7309477Z         "unit": {
2026-06-08T23:22:37.7309792Z           "complete": false,
2026-06-08T23:22:37.7310091Z           "evidence": []
2026-06-08T23:22:37.7310374Z         }
2026-06-08T23:22:37.7310656Z       }
2026-06-08T23:22:37.7310932Z     },
2026-06-08T23:22:37.7311213Z     {
2026-06-08T23:22:37.7311528Z       "id": "REQ-INSTALL-6",
2026-06-08T23:22:37.7315167Z       "title": "Linux elevation install leg: install.sh symlinks the binary into a sudo-reachable path (/usr/local/bin; graceful print-the-one-liner when unelevated) so sudo spt resolves; first sudo spt detects elevation and prompts ONCE for the default user account — thereafter any elevated daemon launch runs daemon + state under that account, never root (KH 5.7 interplay verified) (M8 decision 8)",
2026-06-08T23:22:37.7315508Z       "requiredStages": [
2026-06-08T23:22:37.7315794Z         "impl",
2026-06-08T23:22:37.7316080Z         "unit"
2026-06-08T23:22:37.7316361Z       ],
2026-06-08T23:22:37.7316652Z       "stages": {
2026-06-08T23:22:37.7316943Z         "doc": {
2026-06-08T23:22:37.7317344Z           "complete": false,
2026-06-08T23:22:37.7317663Z           "evidence": []
2026-06-08T23:22:37.7317943Z         },
2026-06-08T23:22:37.7318234Z         "impl": {
2026-06-08T23:22:37.7318544Z           "complete": true,
2026-06-08T23:22:37.7318841Z           "evidence": [
2026-06-08T23:22:37.7319155Z             {
2026-06-08T23:22:37.7319560Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-08T23:22:37.7319860Z               "line": 59
2026-06-08T23:22:37.7320136Z             },
2026-06-08T23:22:37.7320413Z             {
2026-06-08T23:22:37.7320801Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-08T23:22:37.7321135Z               "line": 376
2026-06-08T23:22:37.7321421Z             },
2026-06-08T23:22:37.7321698Z             {
2026-06-08T23:22:37.7322107Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-08T23:22:37.7322417Z               "line": 191
2026-06-08T23:22:37.7322699Z             },
2026-06-08T23:22:37.7322984Z             {
2026-06-08T23:22:37.7323387Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-08T23:22:37.7323687Z               "line": 276
2026-06-08T23:22:37.7323973Z             },
2026-06-08T23:22:37.7324260Z             {
2026-06-08T23:22:37.7324608Z               "path": "crates/spt/src/main.rs",
2026-06-08T23:22:37.7325027Z               "line": 40
2026-06-08T23:22:37.7325309Z             },
2026-06-08T23:22:37.7325594Z             {
2026-06-08T23:22:37.7325939Z               "path": "installer/install.sh",
2026-06-08T23:22:37.7326240Z               "line": 104
2026-06-08T23:22:37.7326522Z             }
2026-06-08T23:22:37.7326898Z           ]
2026-06-08T23:22:37.7327269Z         },
2026-06-08T23:22:37.7327570Z         "int": {
2026-06-08T23:22:37.7327880Z           "complete": false,
2026-06-08T23:22:37.7328190Z           "evidence": []
2026-06-08T23:22:37.7328470Z         },
2026-06-08T23:22:37.7328757Z         "unit": {
2026-06-08T23:22:37.7329063Z           "complete": true,
2026-06-08T23:22:37.7329367Z           "evidence": [
2026-06-08T23:22:37.7329649Z             {
2026-06-08T23:22:37.7330058Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-08T23:22:37.7330358Z               "line": 841
2026-06-08T23:22:37.7330640Z             }
2026-06-08T23:22:37.7330932Z           ]
2026-06-08T23:22:37.7331211Z         }
2026-06-08T23:22:37.7331490Z       }
2026-06-08T23:22:37.7331766Z     },
2026-06-08T23:22:37.7332048Z     {
2026-06-08T23:22:37.7332362Z       "id": "REQ-INSTALL-7",
2026-06-08T23:22:37.7335660Z       "title": "Windows inbound reachability: the elevated install leg registers the inbound-UDP firewall rule (New-NetFirewallRule); the daemon self-detects blocked inbound and renders it as the no-connection state in subnet status + the coming-online banner (covers user-scope installs that skip the elevated leg — never a silent NO_SEED_HOLDER dead-end) (M8 root cause 3)",
2026-06-08T23:22:37.7335989Z       "requiredStages": [
2026-06-08T23:22:37.7336273Z         "impl"
2026-06-08T23:22:37.7336551Z       ],
2026-06-08T23:22:37.7336842Z       "stages": {
2026-06-08T23:22:37.7337205Z         "doc": {
2026-06-08T23:22:37.7337510Z           "complete": false,
2026-06-08T23:22:37.7337811Z           "evidence": []
2026-06-08T23:22:37.7338092Z         },
2026-06-08T23:22:37.7338397Z         "impl": {
2026-06-08T23:22:37.7338702Z           "complete": true,
2026-06-08T23:22:37.7339002Z           "evidence": [
2026-06-08T23:22:37.7339280Z             {
2026-06-08T23:22:37.7339627Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.7339923Z               "line": 2401
2026-06-08T23:22:37.7340232Z             },
2026-06-08T23:22:37.7340524Z             {
2026-06-08T23:22:37.7340876Z               "path": "installer/install.ps1",
2026-06-08T23:22:37.7341177Z               "line": 157
2026-06-08T23:22:37.7341459Z             }
2026-06-08T23:22:37.7341748Z           ]
2026-06-08T23:22:37.7342021Z         },
2026-06-08T23:22:37.7342307Z         "int": {
2026-06-08T23:22:37.7342612Z           "complete": false,
2026-06-08T23:22:37.7342908Z           "evidence": []
2026-06-08T23:22:37.7343190Z         },
2026-06-08T23:22:37.7343471Z         "unit": {
2026-06-08T23:22:37.7343781Z           "complete": false,
2026-06-08T23:22:37.7344077Z           "evidence": []
2026-06-08T23:22:37.7344362Z         }
2026-06-08T23:22:37.7344636Z       }
2026-06-08T23:22:37.7344908Z     },
2026-06-08T23:22:37.7345184Z     {
2026-06-08T23:22:37.7345494Z       "id": "REQ-INSTALL-8",
2026-06-08T23:22:37.7349005Z       "title": "OS-service registration (REQ-INSTALL-1's deferred third leg): Linux systemd USER service + loginctl enable-linger (linger rides the elevated install leg; daemon starts at boot pre-login, user universe per KH 5.7, systemctl --user managed); Windows scheduled task at-logon (interactive session, no stored credentials); a node is reachable after reboot without any manual spt invocation (M8 decision 17)",
2026-06-08T23:22:37.7349330Z       "requiredStages": [
2026-06-08T23:22:37.7349610Z         "impl"
2026-06-08T23:22:37.7349896Z       ],
2026-06-08T23:22:37.7350173Z       "stages": {
2026-06-08T23:22:37.7350454Z         "doc": {
2026-06-08T23:22:37.7350755Z           "complete": false,
2026-06-08T23:22:37.7351055Z           "evidence": []
2026-06-08T23:22:37.7351332Z         },
2026-06-08T23:22:37.7351742Z         "impl": {
2026-06-08T23:22:37.7352042Z           "complete": true,
2026-06-08T23:22:37.7352336Z           "evidence": [
2026-06-08T23:22:37.7352615Z             {
2026-06-08T23:22:37.7352964Z               "path": "installer/install.ps1",
2026-06-08T23:22:37.7353265Z               "line": 184
2026-06-08T23:22:37.7353636Z             },
2026-06-08T23:22:37.7353913Z             {
2026-06-08T23:22:37.7354256Z               "path": "installer/install.sh",
2026-06-08T23:22:37.7354543Z               "line": 121
2026-06-08T23:22:37.7354826Z             }
2026-06-08T23:22:37.7355105Z           ]
2026-06-08T23:22:37.7355386Z         },
2026-06-08T23:22:37.7355668Z         "int": {
2026-06-08T23:22:37.7355974Z           "complete": false,
2026-06-08T23:22:37.7356269Z           "evidence": []
2026-06-08T23:22:37.7356551Z         },
2026-06-08T23:22:37.7356843Z         "unit": {
2026-06-08T23:22:37.7357227Z           "complete": false,
2026-06-08T23:22:37.7357526Z           "evidence": []
2026-06-08T23:22:37.7357816Z         }
2026-06-08T23:22:37.7358098Z       }
2026-06-08T23:22:37.7358378Z     },
2026-06-08T23:22:37.7358659Z     {
2026-06-08T23:22:37.7358969Z       "id": "REQ-MANIFEST-1",
2026-06-08T23:22:37.7359575Z       "title": "Per-adapter manifest with adapter_name and min_spt_core_version",
2026-06-08T23:22:37.7359890Z       "requiredStages": [
2026-06-08T23:22:37.7360170Z         "doc",
2026-06-08T23:22:37.7360451Z         "impl",
2026-06-08T23:22:37.7360719Z         "unit"
2026-06-08T23:22:37.7360991Z       ],
2026-06-08T23:22:37.7361263Z       "stages": {
2026-06-08T23:22:37.7361544Z         "doc": {
2026-06-08T23:22:37.7361848Z           "complete": true,
2026-06-08T23:22:37.7362158Z           "evidence": [
2026-06-08T23:22:37.7362440Z             {
2026-06-08T23:22:37.7362767Z               "path": "docs/MANIFEST.md",
2026-06-08T23:22:37.7363061Z               "line": 19
2026-06-08T23:22:37.7363338Z             }
2026-06-08T23:22:37.7363624Z           ]
2026-06-08T23:22:37.7363915Z         },
2026-06-08T23:22:37.7364201Z         "impl": {
2026-06-08T23:22:37.7364502Z           "complete": true,
2026-06-08T23:22:37.7364798Z           "evidence": [
2026-06-08T23:22:37.7365079Z             {
2026-06-08T23:22:37.7365486Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-08T23:22:37.7365791Z               "line": 18
2026-06-08T23:22:37.7366072Z             }
2026-06-08T23:22:37.7366352Z           ]
2026-06-08T23:22:37.7366629Z         },
2026-06-08T23:22:37.7366910Z         "int": {
2026-06-08T23:22:37.7367311Z           "complete": false,
2026-06-08T23:22:37.7367612Z           "evidence": []
2026-06-08T23:22:37.7367896Z         },
2026-06-08T23:22:37.7368184Z         "unit": {
2026-06-08T23:22:37.7368499Z           "complete": true,
2026-06-08T23:22:37.7368795Z           "evidence": [
2026-06-08T23:22:37.7369077Z             {
2026-06-08T23:22:37.7369486Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-08T23:22:37.7369787Z               "line": 746
2026-06-08T23:22:37.7370078Z             },
2026-06-08T23:22:37.7370359Z             {
2026-06-08T23:22:37.7370768Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-08T23:22:37.7371059Z               "line": 860
2026-06-08T23:22:37.7371345Z             },
2026-06-08T23:22:37.7371618Z             {
2026-06-08T23:22:37.7372031Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-08T23:22:37.7372323Z               "line": 872
2026-06-08T23:22:37.7372604Z             },
2026-06-08T23:22:37.7372885Z             {
2026-06-08T23:22:37.7373290Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-08T23:22:37.7373602Z               "line": 883
2026-06-08T23:22:37.7373884Z             },
2026-06-08T23:22:37.7374170Z             {
2026-06-08T23:22:37.7374565Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-08T23:22:37.7374865Z               "line": 900
2026-06-08T23:22:37.7375147Z             },
2026-06-08T23:22:37.7375424Z             {
2026-06-08T23:22:37.7375937Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-08T23:22:37.7376240Z               "line": 914
2026-06-08T23:22:37.7376521Z             },
2026-06-08T23:22:37.7376798Z             {
2026-06-08T23:22:37.7377290Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-08T23:22:37.7377690Z               "line": 929
2026-06-08T23:22:37.7377972Z             },
2026-06-08T23:22:37.7378249Z             {
2026-06-08T23:22:37.7378655Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-08T23:22:37.7378956Z               "line": 944
2026-06-08T23:22:37.7379237Z             },
2026-06-08T23:22:37.7379513Z             {
2026-06-08T23:22:37.7379914Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-08T23:22:37.7380215Z               "line": 959
2026-06-08T23:22:37.7380496Z             },
2026-06-08T23:22:37.7380778Z             {
2026-06-08T23:22:37.7381178Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-08T23:22:37.7381487Z               "line": 970
2026-06-08T23:22:37.7381768Z             }
2026-06-08T23:22:37.7382049Z           ]
2026-06-08T23:22:37.7382325Z         }
2026-06-08T23:22:37.7382596Z       }
2026-06-08T23:22:37.7382859Z     },
2026-06-08T23:22:37.7383136Z     {
2026-06-08T23:22:37.7383437Z       "id": "REQ-MESH-1",
2026-06-08T23:22:37.7389830Z       "title": "Membership proof (seed-proof): symmetric current-epoch seed-knowledge replaces is_trusted at EVERY inbound gate (registry apply, WAN receive, sync, notif, connection accept). MK = HKDF(seed, domain ‖ subnet_id ‖ seed_epoch); mutual channel-bound challenge-response at connect (transcript binds both handshake-proven node pubkeys, both nonces, subnet_id, seed_epoch, role); verified once per connection, cached on the broker ConnEntry, kept warm via QUIC keep-alive so re-proof is restart/partition/rotation-only. Exact-epoch match (re-seed is the sole N-1 exception). SECURITY INVARIANTS: channel-bound (no cross-connection replay), mutual, accepts a member it never paired (the mesh property).",
2026-06-08T23:22:37.7390183Z       "requiredStages": [
2026-06-08T23:22:37.7390478Z         "impl",
2026-06-08T23:22:37.7390760Z         "unit",
2026-06-08T23:22:37.7391042Z         "int"
2026-06-08T23:22:37.7391318Z       ],
2026-06-08T23:22:37.7391604Z       "stages": {
2026-06-08T23:22:37.7391917Z         "doc": {
2026-06-08T23:22:37.7392226Z           "complete": false,
2026-06-08T23:22:37.7392522Z           "evidence": []
2026-06-08T23:22:37.7392804Z         },
2026-06-08T23:22:37.7393091Z         "impl": {
2026-06-08T23:22:37.7393395Z           "complete": true,
2026-06-08T23:22:37.7393705Z           "evidence": [
2026-06-08T23:22:37.7393983Z             {
2026-06-08T23:22:37.7394382Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-08T23:22:37.7394685Z               "line": 680
2026-06-08T23:22:37.7394966Z             },
2026-06-08T23:22:37.7395248Z             {
2026-06-08T23:22:37.7395653Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-08T23:22:37.7395953Z               "line": 38
2026-06-08T23:22:37.7396225Z             },
2026-06-08T23:22:37.7396507Z             {
2026-06-08T23:22:37.7396901Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-08T23:22:37.7397256Z               "line": 77
2026-06-08T23:22:37.7397528Z             },
2026-06-08T23:22:37.7397809Z             {
2026-06-08T23:22:37.7398219Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-08T23:22:37.7398520Z               "line": 119
2026-06-08T23:22:37.7398805Z             },
2026-06-08T23:22:37.7399088Z             {
2026-06-08T23:22:37.7399482Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-08T23:22:37.7399780Z               "line": 57
2026-06-08T23:22:37.7400062Z             },
2026-06-08T23:22:37.7400348Z             {
2026-06-08T23:22:37.7400781Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-08T23:22:37.7401082Z               "line": 24
2026-06-08T23:22:37.7401358Z             },
2026-06-08T23:22:37.7401749Z             {
2026-06-08T23:22:37.7402184Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-08T23:22:37.7402482Z               "line": 142
2026-06-08T23:22:37.7402763Z             },
2026-06-08T23:22:37.7403040Z             {
2026-06-08T23:22:37.7403474Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-08T23:22:37.7403866Z               "line": 162
2026-06-08T23:22:37.7404153Z             }
2026-06-08T23:22:37.7404428Z           ]
2026-06-08T23:22:37.7404709Z         },
2026-06-08T23:22:37.7404998Z         "int": {
2026-06-08T23:22:37.7405306Z           "complete": true,
2026-06-08T23:22:37.7405602Z           "evidence": [
2026-06-08T23:22:37.7405884Z             {
2026-06-08T23:22:37.7406308Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-08T23:22:37.7406603Z               "line": 66
2026-06-08T23:22:37.7406881Z             },
2026-06-08T23:22:37.7407247Z             {
2026-06-08T23:22:37.7407704Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-08T23:22:37.7408012Z               "line": 92
2026-06-08T23:22:37.7408298Z             },
2026-06-08T23:22:37.7408579Z             {
2026-06-08T23:22:37.7409004Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-08T23:22:37.7409291Z               "line": 116
2026-06-08T23:22:37.7409577Z             },
2026-06-08T23:22:37.7409857Z             {
2026-06-08T23:22:37.7410276Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-08T23:22:37.7410569Z               "line": 133
2026-06-08T23:22:37.7410846Z             }
2026-06-08T23:22:37.7411126Z           ]
2026-06-08T23:22:37.7411403Z         },
2026-06-08T23:22:37.7411689Z         "unit": {
2026-06-08T23:22:37.7411980Z           "complete": true,
2026-06-08T23:22:37.7412270Z           "evidence": [
2026-06-08T23:22:37.7412553Z             {
2026-06-08T23:22:37.7412947Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-08T23:22:37.7413252Z               "line": 427
2026-06-08T23:22:37.7413534Z             },
2026-06-08T23:22:37.7413820Z             {
2026-06-08T23:22:37.7414253Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-08T23:22:37.7414549Z               "line": 318
2026-06-08T23:22:37.7414830Z             },
2026-06-08T23:22:37.7415117Z             {
2026-06-08T23:22:37.7415549Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-08T23:22:37.7415848Z               "line": 354
2026-06-08T23:22:37.7416134Z             },
2026-06-08T23:22:37.7416420Z             {
2026-06-08T23:22:37.7416849Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-08T23:22:37.7417221Z               "line": 369
2026-06-08T23:22:37.7417507Z             },
2026-06-08T23:22:37.7417793Z             {
2026-06-08T23:22:37.7418217Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-08T23:22:37.7418519Z               "line": 380
2026-06-08T23:22:37.7418810Z             },
2026-06-08T23:22:37.7419100Z             {
2026-06-08T23:22:37.7419531Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-08T23:22:37.7419832Z               "line": 391
2026-06-08T23:22:37.7420117Z             },
2026-06-08T23:22:37.7420393Z             {
2026-06-08T23:22:37.7420826Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-08T23:22:37.7421134Z               "line": 402
2026-06-08T23:22:37.7421434Z             },
2026-06-08T23:22:37.7421730Z             {
2026-06-08T23:22:37.7422154Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-08T23:22:37.7422465Z               "line": 438
2026-06-08T23:22:37.7422742Z             },
2026-06-08T23:22:37.7423028Z             {
2026-06-08T23:22:37.7423456Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-08T23:22:37.7423746Z               "line": 461
2026-06-08T23:22:37.7424023Z             },
2026-06-08T23:22:37.7424299Z             {
2026-06-08T23:22:37.7424728Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-08T23:22:37.7425181Z               "line": 488
2026-06-08T23:22:37.7425452Z             }
2026-06-08T23:22:37.7425729Z           ]
2026-06-08T23:22:37.7426006Z         }
2026-06-08T23:22:37.7426281Z       }
2026-06-08T23:22:37.7426575Z     },
2026-06-08T23:22:37.7427056Z     {
2026-06-08T23:22:37.7427371Z       "id": "REQ-MESH-2",
2026-06-08T23:22:37.7434931Z       "title": "Member roster: node-level union-merge grow-set (per member: pubkey, label, machine_id, last-known address, last-seen — NOT the seed), the discovery directory the mesh dials by. Seeded IN FULL at pairing (seed-holder hands joiner the whole current roster, incl. offline members — folds in deferred pairing-time hostname capture + post-join address seeding); each node authors its own entry stamped with its lease_epoch, merged strictly-greater-wins (the node_label lease); exchanged only over seed-proof'd member connections; forgery-inert (a fake entry names a pubkey that still can't seed-proof). Removal needs a TOMBSTONE — a per-pubkey revoked marker that propagates, dominates the entry, gates admission (seed-proof ∧ ¬tombstoned), and prevents reinsert; cleared by a completed re-pair of that pubkey. Persists through silence (offline member keeps its entry).",
2026-06-08T23:22:37.7435297Z       "requiredStages": [
2026-06-08T23:22:37.7435612Z         "impl",
2026-06-08T23:22:37.7435895Z         "unit",
2026-06-08T23:22:37.7436176Z         "int"
2026-06-08T23:22:37.7436453Z       ],
2026-06-08T23:22:37.7436746Z       "stages": {
2026-06-08T23:22:37.7437126Z         "doc": {
2026-06-08T23:22:37.7437446Z           "complete": false,
2026-06-08T23:22:37.7437746Z           "evidence": []
2026-06-08T23:22:37.7438027Z         },
2026-06-08T23:22:37.7438317Z         "impl": {
2026-06-08T23:22:37.7438623Z           "complete": true,
2026-06-08T23:22:37.7438933Z           "evidence": [
2026-06-08T23:22:37.7439213Z             {
2026-06-08T23:22:37.7439615Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-08T23:22:37.7439955Z               "line": 569
2026-06-08T23:22:37.7440235Z             },
2026-06-08T23:22:37.7440526Z             {
2026-06-08T23:22:37.7440928Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-08T23:22:37.7441223Z               "line": 118
2026-06-08T23:22:37.7441518Z             },
2026-06-08T23:22:37.7441803Z             {
2026-06-08T23:22:37.7442206Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-08T23:22:37.7442511Z               "line": 347
2026-06-08T23:22:37.7442797Z             },
2026-06-08T23:22:37.7443079Z             {
2026-06-08T23:22:37.7443480Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-08T23:22:37.7443790Z               "line": 389
2026-06-08T23:22:37.7444075Z             },
2026-06-08T23:22:37.7444362Z             {
2026-06-08T23:22:37.7444761Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-08T23:22:37.7445066Z               "line": 403
2026-06-08T23:22:37.7445357Z             },
2026-06-08T23:22:37.7445643Z             {
2026-06-08T23:22:37.7446049Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-08T23:22:37.7446344Z               "line": 492
2026-06-08T23:22:37.7446630Z             },
2026-06-08T23:22:37.7446907Z             {
2026-06-08T23:22:37.7447387Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-08T23:22:37.7447691Z               "line": 507
2026-06-08T23:22:37.7447982Z             },
2026-06-08T23:22:37.7448267Z             {
2026-06-08T23:22:37.7448664Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-08T23:22:37.7448965Z               "line": 534
2026-06-08T23:22:37.7449246Z             },
2026-06-08T23:22:37.7449536Z             {
2026-06-08T23:22:37.7449940Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-08T23:22:37.7450243Z               "line": 120
2026-06-08T23:22:37.7450534Z             },
2026-06-08T23:22:37.7450810Z             {
2026-06-08T23:22:37.7451231Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-08T23:22:37.7451630Z               "line": 425
2026-06-08T23:22:37.7451912Z             },
2026-06-08T23:22:37.7452176Z             {
2026-06-08T23:22:37.7452586Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-08T23:22:37.7452882Z               "line": 486
2026-06-08T23:22:37.7453258Z             },
2026-06-08T23:22:37.7453530Z             {
2026-06-08T23:22:37.7453939Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-08T23:22:37.7454245Z               "line": 539
2026-06-08T23:22:37.7454535Z             },
2026-06-08T23:22:37.7454803Z             {
2026-06-08T23:22:37.7455221Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-08T23:22:37.7455517Z               "line": 561
2026-06-08T23:22:37.7455799Z             },
2026-06-08T23:22:37.7456080Z             {
2026-06-08T23:22:37.7456461Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.7456761Z               "line": 112
2026-06-08T23:22:37.7457129Z             },
2026-06-08T23:22:37.7457414Z             {
2026-06-08T23:22:37.7457799Z               "path": "crates/spt-store/src/roster.rs",
2026-06-08T23:22:37.7458098Z               "line": 44
2026-06-08T23:22:37.7458375Z             },
2026-06-08T23:22:37.7458661Z             {
2026-06-08T23:22:37.7459052Z               "path": "crates/spt-store/src/roster.rs",
2026-06-08T23:22:37.7459343Z               "line": 184
2026-06-08T23:22:37.7459628Z             },
2026-06-08T23:22:37.7459910Z             {
2026-06-08T23:22:37.7460291Z               "path": "crates/spt-store/src/roster.rs",
2026-06-08T23:22:37.7460589Z               "line": 211
2026-06-08T23:22:37.7460875Z             },
2026-06-08T23:22:37.7461166Z             {
2026-06-08T23:22:37.7461542Z               "path": "crates/spt-store/src/roster.rs",
2026-06-08T23:22:37.7461847Z               "line": 251
2026-06-08T23:22:37.7462130Z             },
2026-06-08T23:22:37.7462421Z             {
2026-06-08T23:22:37.7462806Z               "path": "crates/spt-store/src/roster.rs",
2026-06-08T23:22:37.7463109Z               "line": 275
2026-06-08T23:22:37.7463390Z             },
2026-06-08T23:22:37.7463675Z             {
2026-06-08T23:22:37.7464061Z               "path": "crates/spt-store/src/roster.rs",
2026-06-08T23:22:37.7464358Z               "line": 289
2026-06-08T23:22:37.7464649Z             },
2026-06-08T23:22:37.7464930Z             {
2026-06-08T23:22:37.7465307Z               "path": "crates/spt-store/src/roster.rs",
2026-06-08T23:22:37.7465608Z               "line": 300
2026-06-08T23:22:37.7465877Z             },
2026-06-08T23:22:37.7466148Z             {
2026-06-08T23:22:37.7466525Z               "path": "crates/spt-store/src/roster.rs",
2026-06-08T23:22:37.7466821Z               "line": 313
2026-06-08T23:22:37.7467155Z             }
2026-06-08T23:22:37.7467445Z           ]
2026-06-08T23:22:37.7467713Z         },
2026-06-08T23:22:37.7467998Z         "int": {
2026-06-08T23:22:37.7468318Z           "complete": true,
2026-06-08T23:22:37.7468620Z           "evidence": [
2026-06-08T23:22:37.7468907Z             {
2026-06-08T23:22:37.7469334Z               "path": "crates/spt-daemon/tests/rosterprop.rs",
2026-06-08T23:22:37.7469640Z               "line": 100
2026-06-08T23:22:37.7469927Z             },
2026-06-08T23:22:37.7470208Z             {
2026-06-08T23:22:37.7470647Z               "path": "crates/spt-daemon/tests/rosterprop.rs",
2026-06-08T23:22:37.7470950Z               "line": 165
2026-06-08T23:22:37.7471234Z             }
2026-06-08T23:22:37.7471521Z           ]
2026-06-08T23:22:37.7471802Z         },
2026-06-08T23:22:37.7472093Z         "unit": {
2026-06-08T23:22:37.7472403Z           "complete": true,
2026-06-08T23:22:37.7472713Z           "evidence": [
2026-06-08T23:22:37.7473005Z             {
2026-06-08T23:22:37.7473417Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-08T23:22:37.7473716Z               "line": 643
2026-06-08T23:22:37.7474003Z             },
2026-06-08T23:22:37.7474288Z             {
2026-06-08T23:22:37.7474816Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-08T23:22:37.7475122Z               "line": 660
2026-06-08T23:22:37.7475408Z             },
2026-06-08T23:22:37.7475689Z             {
2026-06-08T23:22:37.7476115Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-08T23:22:37.7476514Z               "line": 668
2026-06-08T23:22:37.7476795Z             },
2026-06-08T23:22:37.7477167Z             {
2026-06-08T23:22:37.7477600Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-08T23:22:37.7477906Z               "line": 692
2026-06-08T23:22:37.7478191Z             },
2026-06-08T23:22:37.7478483Z             {
2026-06-08T23:22:37.7478911Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-08T23:22:37.7479223Z               "line": 1498
2026-06-08T23:22:37.7479504Z             },
2026-06-08T23:22:37.7479786Z             {
2026-06-08T23:22:37.7480167Z               "path": "crates/spt-store/src/roster.rs",
2026-06-08T23:22:37.7480482Z               "line": 347
2026-06-08T23:22:37.7480768Z             },
2026-06-08T23:22:37.7481049Z             {
2026-06-08T23:22:37.7481430Z               "path": "crates/spt-store/src/roster.rs",
2026-06-08T23:22:37.7481728Z               "line": 370
2026-06-08T23:22:37.7482014Z             },
2026-06-08T23:22:37.7482301Z             {
2026-06-08T23:22:37.7482677Z               "path": "crates/spt-store/src/roster.rs",
2026-06-08T23:22:37.7482977Z               "line": 407
2026-06-08T23:22:37.7483264Z             },
2026-06-08T23:22:37.7483545Z             {
2026-06-08T23:22:37.7483926Z               "path": "crates/spt-store/src/roster.rs",
2026-06-08T23:22:37.7484229Z               "line": 431
2026-06-08T23:22:37.7484515Z             },
2026-06-08T23:22:37.7484800Z             {
2026-06-08T23:22:37.7485177Z               "path": "crates/spt-store/src/roster.rs",
2026-06-08T23:22:37.7485473Z               "line": 483
2026-06-08T23:22:37.7485769Z             },
2026-06-08T23:22:37.7486055Z             {
2026-06-08T23:22:37.7486437Z               "path": "crates/spt-store/src/roster.rs",
2026-06-08T23:22:37.7486737Z               "line": 499
2026-06-08T23:22:37.7487107Z             },
2026-06-08T23:22:37.7487399Z             {
2026-06-08T23:22:37.7487770Z               "path": "crates/spt-store/src/roster.rs",
2026-06-08T23:22:37.7488075Z               "line": 514
2026-06-08T23:22:37.7488362Z             },
2026-06-08T23:22:37.7488648Z             {
2026-06-08T23:22:37.7489020Z               "path": "crates/spt-store/src/roster.rs",
2026-06-08T23:22:37.7489311Z               "line": 531
2026-06-08T23:22:37.7489590Z             }
2026-06-08T23:22:37.7489869Z           ]
2026-06-08T23:22:37.7490155Z         }
2026-06-08T23:22:37.7490431Z       }
2026-06-08T23:22:37.7490713Z     },
2026-06-08T23:22:37.7490985Z     {
2026-06-08T23:22:37.7491290Z       "id": "REQ-MESH-3",
2026-06-08T23:22:37.7496199Z       "title": "Mesh row fan-out: registry rows stay OWN-AUTHORED; the only change is the push target widens from directly-paired peers to ALL roster members (a wider DIRECT fan-out, never a third-party relay). Every row/message still arrives from its author over a handshake → KNOWN-HAZARDS 7.5 (origin = handshake node) and 4.10 (eviction lease: any future update comes from that node itself, alive) PRESERVED VERBATIM. Closes the staggered A→B→C repro: C (roster-seeded with A at pairing) initiates to A, seed-proof admits C unpaired, A learns C, both push directly.",
2026-06-08T23:22:37.7496547Z       "requiredStages": [
2026-06-08T23:22:37.7496838Z         "impl",
2026-06-08T23:22:37.7497201Z         "unit",
2026-06-08T23:22:37.7497481Z         "int"
2026-06-08T23:22:37.7497763Z       ],
2026-06-08T23:22:37.7498058Z       "stages": {
2026-06-08T23:22:37.7498345Z         "doc": {
2026-06-08T23:22:37.7498654Z           "complete": false,
2026-06-08T23:22:37.7498955Z           "evidence": []
2026-06-08T23:22:37.7499241Z         },
2026-06-08T23:22:37.7499528Z         "impl": {
2026-06-08T23:22:37.7499960Z           "complete": true,
2026-06-08T23:22:37.7500250Z           "evidence": [
2026-06-08T23:22:37.7500535Z             {
2026-06-08T23:22:37.7500940Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-08T23:22:37.7501240Z               "line": 362
2026-06-08T23:22:37.7501521Z             },
2026-06-08T23:22:37.7501922Z             {
2026-06-08T23:22:37.7502342Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-08T23:22:37.7502640Z               "line": 555
2026-06-08T23:22:37.7502920Z             }
2026-06-08T23:22:37.7503201Z           ]
2026-06-08T23:22:37.7503483Z         },
2026-06-08T23:22:37.7503778Z         "int": {
2026-06-08T23:22:37.7504083Z           "complete": true,
2026-06-08T23:22:37.7504379Z           "evidence": [
2026-06-08T23:22:37.7504662Z             {
2026-06-08T23:22:37.7505051Z               "path": "crates/spt-daemon/tests/mesh.rs",
2026-06-08T23:22:37.7505354Z               "line": 371
2026-06-08T23:22:37.7505645Z             },
2026-06-08T23:22:37.7505935Z             {
2026-06-08T23:22:37.7506321Z               "path": "crates/spt-daemon/tests/mesh.rs",
2026-06-08T23:22:37.7506626Z               "line": 434
2026-06-08T23:22:37.7506908Z             }
2026-06-08T23:22:37.7507280Z           ]
2026-06-08T23:22:37.7507561Z         },
2026-06-08T23:22:37.7507848Z         "unit": {
2026-06-08T23:22:37.7508170Z           "complete": true,
2026-06-08T23:22:37.7508471Z           "evidence": [
2026-06-08T23:22:37.7508756Z             {
2026-06-08T23:22:37.7509163Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-08T23:22:37.7509468Z               "line": 796
2026-06-08T23:22:37.7509754Z             }
2026-06-08T23:22:37.7510040Z           ]
2026-06-08T23:22:37.7510321Z         }
2026-06-08T23:22:37.7510605Z       }
2026-06-08T23:22:37.7510894Z     },
2026-06-08T23:22:37.7511171Z     {
2026-06-08T23:22:37.7511490Z       "id": "REQ-MESH-4",
2026-06-08T23:22:37.7517992Z       "title": "Revoke + timeboxed seed rotation + re-seed grace: `spt subnet revoke <node>...` (list, elevation-gated, revoke-only) writes roster tombstones immediately, then schedules ONE seed rotation (re-mint seed, bump seed_epoch, push new seed CONFIDENTIALLY over member-auth'd TLS connections — never in roster/registry gossip — force-drop revokees) at the close of a coalescing window (default 1h); further revokes in the window join the same rotation (one epoch bump). `--force-rotate-seed` rotates immediately (compromised-node path). RE-SEED GRACE: a node proving the immediately-prior epoch (N-1) AND still on the roster gets a re-seed-only restricted connection (auto-heals a benign offliner); revoked/off-roster denied; ≥2 stale → re-pair.",
2026-06-08T23:22:37.7518351Z       "requiredStages": [],
2026-06-08T23:22:37.7518644Z       "stages": {
2026-06-08T23:22:37.7518930Z         "doc": {
2026-06-08T23:22:37.7519245Z           "complete": false,
2026-06-08T23:22:37.7519550Z           "evidence": []
2026-06-08T23:22:37.7519836Z         },
2026-06-08T23:22:37.7520127Z         "impl": {
2026-06-08T23:22:37.7520466Z           "complete": false,
2026-06-08T23:22:37.7520766Z           "evidence": []
2026-06-08T23:22:37.7521053Z         },
2026-06-08T23:22:37.7521337Z         "int": {
2026-06-08T23:22:37.7521660Z           "complete": false,
2026-06-08T23:22:37.7521960Z           "evidence": []
2026-06-08T23:22:37.7522275Z         },
2026-06-08T23:22:37.7522562Z         "unit": {
2026-06-08T23:22:37.7522876Z           "complete": false,
2026-06-08T23:22:37.7523182Z           "evidence": []
2026-06-08T23:22:37.7523467Z         }
2026-06-08T23:22:37.7523751Z       }
2026-06-08T23:22:37.7524030Z     },
2026-06-08T23:22:37.7524307Z     {
2026-06-08T23:22:37.7524613Z       "id": "REQ-MESH-5",
2026-06-08T23:22:37.7528819Z       "title": "Hard cutover from pairwise trust: delete peers.json + the is_trusted authorization path (no migration — expendable test fleet, re-pairs fresh under the new model, user decision 2026-06-08). Warn-on-change DEMOTED from a gate to an awareness notice anchored on machine_id (not label): 'machine M, last seen as K1, now presents K2' — fires the same event as the REQ-SUBNET-7 re-pair overwrite. The TrustStore/peers.json code and its call sites are removed, not left dead.",
2026-06-08T23:22:37.7529271Z       "requiredStages": [
2026-06-08T23:22:37.7529558Z         "impl",
2026-06-08T23:22:37.7529968Z         "unit"
2026-06-08T23:22:37.7530255Z       ],
2026-06-08T23:22:37.7530545Z       "stages": {
2026-06-08T23:22:37.7530836Z         "doc": {
2026-06-08T23:22:37.7531146Z           "complete": false,
2026-06-08T23:22:37.7531446Z           "evidence": []
2026-06-08T23:22:37.7531730Z         },
2026-06-08T23:22:37.7532024Z         "impl": {
2026-06-08T23:22:37.7532334Z           "complete": true,
2026-06-08T23:22:37.7532634Z           "evidence": [
2026-06-08T23:22:37.7532930Z             {
2026-06-08T23:22:37.7533344Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-08T23:22:37.7533645Z               "line": 61
2026-06-08T23:22:37.7533936Z             },
2026-06-08T23:22:37.7534255Z             {
2026-06-08T23:22:37.7534662Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-08T23:22:37.7534972Z               "line": 109
2026-06-08T23:22:37.7535262Z             },
2026-06-08T23:22:37.7535544Z             {
2026-06-08T23:22:37.7535945Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-08T23:22:37.7536255Z               "line": 104
2026-06-08T23:22:37.7536541Z             },
2026-06-08T23:22:37.7536831Z             {
2026-06-08T23:22:37.7537330Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-08T23:22:37.7537631Z               "line": 105
2026-06-08T23:22:37.7537916Z             },
2026-06-08T23:22:37.7538197Z             {
2026-06-08T23:22:37.7538622Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.7538927Z               "line": 85
2026-06-08T23:22:37.7539209Z             },
2026-06-08T23:22:37.7539491Z             {
2026-06-08T23:22:37.7539909Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.7540214Z               "line": 234
2026-06-08T23:22:37.7543353Z             },
2026-06-08T23:22:37.7543668Z             {
2026-06-08T23:22:37.7544096Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.7544396Z               "line": 298
2026-06-08T23:22:37.7544693Z             },
2026-06-08T23:22:37.7544982Z             {
2026-06-08T23:22:37.7545404Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.7545709Z               "line": 687
2026-06-08T23:22:37.7545986Z             },
2026-06-08T23:22:37.7546272Z             {
2026-06-08T23:22:37.7546648Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-08T23:22:37.7547025Z               "line": 101
2026-06-08T23:22:37.7547315Z             },
2026-06-08T23:22:37.7547604Z             {
2026-06-08T23:22:37.7547985Z               "path": "crates/spt-store/src/roster.rs",
2026-06-08T23:22:37.7548281Z               "line": 193
2026-06-08T23:22:37.7548572Z             }
2026-06-08T23:22:37.7548853Z           ]
2026-06-08T23:22:37.7549140Z         },
2026-06-08T23:22:37.7549426Z         "int": {
2026-06-08T23:22:37.7549731Z           "complete": false,
2026-06-08T23:22:37.7550036Z           "evidence": []
2026-06-08T23:22:37.7550315Z         },
2026-06-08T23:22:37.7550601Z         "unit": {
2026-06-08T23:22:37.7550911Z           "complete": true,
2026-06-08T23:22:37.7551207Z           "evidence": [
2026-06-08T23:22:37.7551489Z             {
2026-06-08T23:22:37.7551918Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.7552218Z               "line": 927
2026-06-08T23:22:37.7552504Z             },
2026-06-08T23:22:37.7552784Z             {
2026-06-08T23:22:37.7553163Z               "path": "crates/spt-store/src/roster.rs",
2026-06-08T23:22:37.7553468Z               "line": 462
2026-06-08T23:22:37.7553755Z             }
2026-06-08T23:22:37.7554031Z           ]
2026-06-08T23:22:37.7554313Z         }
2026-06-08T23:22:37.7554727Z       }
2026-06-08T23:22:37.7555008Z     },
2026-06-08T23:22:37.7555290Z     {
2026-06-08T23:22:37.7555594Z       "id": "REQ-MESH-6",
2026-06-08T23:22:37.7559313Z       "title": "Concurrent liveness probes: `spt subnet status --nodes` fans out its offline/serve-probes (REQ-SUBNET-5) CONCURRENTLY — total wall-time bounded by the single-probe ceiling (~3s), never k×ceiling. The mesh makes a node see ALL members (many possibly offline), so a serial probe loop would be offline_count×3s. (Planning verifies the current REQ-SUBNET-5 probe loop's behavior and fixes it if serial.)",
2026-06-08T23:22:37.7559752Z       "requiredStages": [],
2026-06-08T23:22:37.7560043Z       "stages": {
2026-06-08T23:22:37.7560334Z         "doc": {
2026-06-08T23:22:37.7560640Z           "complete": false,
2026-06-08T23:22:37.7560943Z           "evidence": []
2026-06-08T23:22:37.7561224Z         },
2026-06-08T23:22:37.7561509Z         "impl": {
2026-06-08T23:22:37.7561814Z           "complete": false,
2026-06-08T23:22:37.7562138Z           "evidence": []
2026-06-08T23:22:37.7562426Z         },
2026-06-08T23:22:37.7562706Z         "int": {
2026-06-08T23:22:37.7563016Z           "complete": false,
2026-06-08T23:22:37.7563312Z           "evidence": []
2026-06-08T23:22:37.7563592Z         },
2026-06-08T23:22:37.7563882Z         "unit": {
2026-06-08T23:22:37.7564220Z           "complete": false,
2026-06-08T23:22:37.7564521Z           "evidence": []
2026-06-08T23:22:37.7564807Z         }
2026-06-08T23:22:37.7565083Z       }
2026-06-08T23:22:37.7565364Z     },
2026-06-08T23:22:37.7565645Z     {
2026-06-08T23:22:37.7565954Z       "id": "REQ-MIGRATE-1",
2026-06-08T23:22:37.7566506Z       "title": "Auto-detect and migrate a legacy claude_skill_owl install",
2026-06-08T23:22:37.7566825Z       "requiredStages": [],
2026-06-08T23:22:37.7567187Z       "stages": {
2026-06-08T23:22:37.7567473Z         "doc": {
2026-06-08T23:22:37.7567778Z           "complete": false,
2026-06-08T23:22:37.7568079Z           "evidence": []
2026-06-08T23:22:37.7568361Z         },
2026-06-08T23:22:37.7568645Z         "impl": {
2026-06-08T23:22:37.7568952Z           "complete": false,
2026-06-08T23:22:37.7569248Z           "evidence": []
2026-06-08T23:22:37.7569519Z         },
2026-06-08T23:22:37.7569806Z         "int": {
2026-06-08T23:22:37.7570096Z           "complete": false,
2026-06-08T23:22:37.7570402Z           "evidence": []
2026-06-08T23:22:37.7570688Z         },
2026-06-08T23:22:37.7570983Z         "unit": {
2026-06-08T23:22:37.7571280Z           "complete": false,
2026-06-08T23:22:37.7571570Z           "evidence": []
2026-06-08T23:22:37.7571847Z         }
2026-06-08T23:22:37.7572122Z       }
2026-06-08T23:22:37.7572393Z     },
2026-06-08T23:22:37.7572671Z     {
2026-06-08T23:22:37.7572962Z       "id": "REQ-MSG-1",
2026-06-08T23:22:37.7574428Z       "title": "Local message delivery: TCP-first to a registered address, spool fallback when offline; id->address via registry (stale-clean first); reply routing (__REPLY_TO__)",
2026-06-08T23:22:37.7574742Z       "requiredStages": [
2026-06-08T23:22:37.7575029Z         "impl",
2026-06-08T23:22:37.7575319Z         "unit",
2026-06-08T23:22:37.7575600Z         "int"
2026-06-08T23:22:37.7575881Z       ],
2026-06-08T23:22:37.7576163Z       "stages": {
2026-06-08T23:22:37.7576443Z         "doc": {
2026-06-08T23:22:37.7576760Z           "complete": false,
2026-06-08T23:22:37.7577132Z           "evidence": []
2026-06-08T23:22:37.7577409Z         },
2026-06-08T23:22:37.7577695Z         "impl": {
2026-06-08T23:22:37.7578000Z           "complete": true,
2026-06-08T23:22:37.7578292Z           "evidence": [
2026-06-08T23:22:37.7578573Z             {
2026-06-08T23:22:37.7578954Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-08T23:22:37.7579248Z               "line": 28
2026-06-08T23:22:37.7579527Z             },
2026-06-08T23:22:37.7579804Z             {
2026-06-08T23:22:37.7580181Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-08T23:22:37.7580477Z               "line": 94
2026-06-08T23:22:37.7580758Z             },
2026-06-08T23:22:37.7581150Z             {
2026-06-08T23:22:37.7581520Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-08T23:22:37.7581822Z               "line": 127
2026-06-08T23:22:37.7582106Z             },
2026-06-08T23:22:37.7582382Z             {
2026-06-08T23:22:37.7582750Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-08T23:22:37.7583131Z               "line": 149
2026-06-08T23:22:37.7583413Z             },
2026-06-08T23:22:37.7583690Z             {
2026-06-08T23:22:37.7584061Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-08T23:22:37.7584353Z               "line": 174
2026-06-08T23:22:37.7584622Z             },
2026-06-08T23:22:37.7584906Z             {
2026-06-08T23:22:37.7585284Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-08T23:22:37.7585584Z               "line": 18
2026-06-08T23:22:37.7585860Z             },
2026-06-08T23:22:37.7586145Z             {
2026-06-08T23:22:37.7586499Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-08T23:22:37.7586799Z               "line": 13
2026-06-08T23:22:37.7587175Z             },
2026-06-08T23:22:37.7587463Z             {
2026-06-08T23:22:37.7587831Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-08T23:22:37.7588116Z               "line": 61
2026-06-08T23:22:37.7588402Z             },
2026-06-08T23:22:37.7588688Z             {
2026-06-08T23:22:37.7589051Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-08T23:22:37.7589347Z               "line": 10
2026-06-08T23:22:37.7589627Z             }
2026-06-08T23:22:37.7589906Z           ]
2026-06-08T23:22:37.7590184Z         },
2026-06-08T23:22:37.7590469Z         "int": {
2026-06-08T23:22:37.7590775Z           "complete": true,
2026-06-08T23:22:37.7591070Z           "evidence": [
2026-06-08T23:22:37.7591352Z             {
2026-06-08T23:22:37.7591789Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-08T23:22:37.7592081Z               "line": 9
2026-06-08T23:22:37.7592363Z             },
2026-06-08T23:22:37.7592647Z             {
2026-06-08T23:22:37.7593082Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-08T23:22:37.7593382Z               "line": 70
2026-06-08T23:22:37.7593667Z             },
2026-06-08T23:22:37.7593945Z             {
2026-06-08T23:22:37.7594387Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-08T23:22:37.7594687Z               "line": 129
2026-06-08T23:22:37.7594964Z             }
2026-06-08T23:22:37.7595245Z           ]
2026-06-08T23:22:37.7595524Z         },
2026-06-08T23:22:37.7595800Z         "unit": {
2026-06-08T23:22:37.7596105Z           "complete": true,
2026-06-08T23:22:37.7596405Z           "evidence": [
2026-06-08T23:22:37.7596682Z             {
2026-06-08T23:22:37.7597127Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-08T23:22:37.7597418Z               "line": 203
2026-06-08T23:22:37.7597701Z             },
2026-06-08T23:22:37.7597980Z             {
2026-06-08T23:22:37.7598357Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-08T23:22:37.7598658Z               "line": 232
2026-06-08T23:22:37.7598943Z             },
2026-06-08T23:22:37.7599230Z             {
2026-06-08T23:22:37.7599611Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-08T23:22:37.7599916Z               "line": 277
2026-06-08T23:22:37.7600206Z             },
2026-06-08T23:22:37.7600490Z             {
2026-06-08T23:22:37.7600866Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-08T23:22:37.7601166Z               "line": 300
2026-06-08T23:22:37.7601444Z             },
2026-06-08T23:22:37.7601725Z             {
2026-06-08T23:22:37.7602097Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-08T23:22:37.7602397Z               "line": 324
2026-06-08T23:22:37.7602674Z             },
2026-06-08T23:22:37.7602961Z             {
2026-06-08T23:22:37.7603350Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-08T23:22:37.7603651Z               "line": 203
2026-06-08T23:22:37.7604046Z             },
2026-06-08T23:22:37.7604328Z             {
2026-06-08T23:22:37.7604714Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-08T23:22:37.7605004Z               "line": 236
2026-06-08T23:22:37.7605285Z             },
2026-06-08T23:22:37.7605562Z             {
2026-06-08T23:22:37.7606041Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-08T23:22:37.7606346Z               "line": 250
2026-06-08T23:22:37.7606622Z             },
2026-06-08T23:22:37.7606903Z             {
2026-06-08T23:22:37.7607358Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-08T23:22:37.7607653Z               "line": 262
2026-06-08T23:22:37.7607934Z             },
2026-06-08T23:22:37.7608214Z             {
2026-06-08T23:22:37.7608569Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-08T23:22:37.7608860Z               "line": 158
2026-06-08T23:22:37.7609141Z             },
2026-06-08T23:22:37.7609423Z             {
2026-06-08T23:22:37.7609780Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-08T23:22:37.7610085Z               "line": 241
2026-06-08T23:22:37.7610371Z             },
2026-06-08T23:22:37.7610653Z             {
2026-06-08T23:22:37.7611003Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-08T23:22:37.7611299Z               "line": 68
2026-06-08T23:22:37.7611590Z             },
2026-06-08T23:22:37.7611875Z             {
2026-06-08T23:22:37.7612233Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-08T23:22:37.7612524Z               "line": 77
2026-06-08T23:22:37.7612816Z             },
2026-06-08T23:22:37.7613092Z             {
2026-06-08T23:22:37.7613446Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-08T23:22:37.7613739Z               "line": 83
2026-06-08T23:22:37.7614020Z             },
2026-06-08T23:22:37.7614295Z             {
2026-06-08T23:22:37.7614659Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-08T23:22:37.7614954Z               "line": 102
2026-06-08T23:22:37.7615231Z             }
2026-06-08T23:22:37.7615517Z           ]
2026-06-08T23:22:37.7615789Z         }
2026-06-08T23:22:37.7616067Z       }
2026-06-08T23:22:37.7616341Z     },
2026-06-08T23:22:37.7616616Z     {
2026-06-08T23:22:37.7616916Z       "id": "REQ-MSG-2",
2026-06-08T23:22:37.7617846Z       "title": "spt binary CLI surface: send/ring/ready(+--once)/list/stop/whoami, stable arg shapes + exit codes",
2026-06-08T23:22:37.7618170Z       "requiredStages": [
2026-06-08T23:22:37.7618451Z         "impl",
2026-06-08T23:22:37.7618736Z         "unit"
2026-06-08T23:22:37.7619015Z       ],
2026-06-08T23:22:37.7619307Z       "stages": {
2026-06-08T23:22:37.7619587Z         "doc": {
2026-06-08T23:22:37.7619898Z           "complete": false,
2026-06-08T23:22:37.7620208Z           "evidence": []
2026-06-08T23:22:37.7620485Z         },
2026-06-08T23:22:37.7620775Z         "impl": {
2026-06-08T23:22:37.7621081Z           "complete": true,
2026-06-08T23:22:37.7621379Z           "evidence": [
2026-06-08T23:22:37.7621658Z             {
2026-06-08T23:22:37.7622010Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.7622306Z               "line": 11
2026-06-08T23:22:37.7622592Z             },
2026-06-08T23:22:37.7622879Z             {
2026-06-08T23:22:37.7623232Z               "path": "crates/spt/src/main.rs",
2026-06-08T23:22:37.7623527Z               "line": 8
2026-06-08T23:22:37.7623817Z             }
2026-06-08T23:22:37.7624099Z           ]
2026-06-08T23:22:37.7624386Z         },
2026-06-08T23:22:37.7624667Z         "int": {
2026-06-08T23:22:37.7624977Z           "complete": false,
2026-06-08T23:22:37.7625278Z           "evidence": []
2026-06-08T23:22:37.7625562Z         },
2026-06-08T23:22:37.7625844Z         "unit": {
2026-06-08T23:22:37.7626149Z           "complete": true,
2026-06-08T23:22:37.7626449Z           "evidence": [
2026-06-08T23:22:37.7626730Z             {
2026-06-08T23:22:37.7627161Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.7627457Z               "line": 4583
2026-06-08T23:22:37.7627742Z             },
2026-06-08T23:22:37.7628145Z             {
2026-06-08T23:22:37.7628488Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.7628784Z               "line": 4632
2026-06-08T23:22:37.7629060Z             },
2026-06-08T23:22:37.7629339Z             {
2026-06-08T23:22:37.7629680Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.7630072Z               "line": 4655
2026-06-08T23:22:37.7630352Z             },
2026-06-08T23:22:37.7630634Z             {
2026-06-08T23:22:37.7630968Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.7631258Z               "line": 6092
2026-06-08T23:22:37.7631545Z             },
2026-06-08T23:22:37.7631820Z             {
2026-06-08T23:22:37.7632161Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.7632457Z               "line": 6101
2026-06-08T23:22:37.7632729Z             },
2026-06-08T23:22:37.7633006Z             {
2026-06-08T23:22:37.7633349Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.7633645Z               "line": 6115
2026-06-08T23:22:37.7633922Z             }
2026-06-08T23:22:37.7634208Z           ]
2026-06-08T23:22:37.7634479Z         }
2026-06-08T23:22:37.7634744Z       }
2026-06-08T23:22:37.7635016Z     },
2026-06-08T23:22:37.7635284Z     {
2026-06-08T23:22:37.7635579Z       "id": "REQ-MSG-3",
2026-06-08T23:22:37.7636806Z       "title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown",
2026-06-08T23:22:37.7637210Z       "requiredStages": [
2026-06-08T23:22:37.7637494Z         "impl",
2026-06-08T23:22:37.7637803Z         "unit",
2026-06-08T23:22:37.7638089Z         "int"
2026-06-08T23:22:37.7638365Z       ],
2026-06-08T23:22:37.7638656Z       "stages": {
2026-06-08T23:22:37.7638942Z         "doc": {
2026-06-08T23:22:37.7639247Z           "complete": false,
2026-06-08T23:22:37.7639548Z           "evidence": []
2026-06-08T23:22:37.7639828Z         },
2026-06-08T23:22:37.7640112Z         "impl": {
2026-06-08T23:22:37.7640446Z           "complete": true,
2026-06-08T23:22:37.7640761Z           "evidence": [
2026-06-08T23:22:37.7641047Z             {
2026-06-08T23:22:37.7641437Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-08T23:22:37.7641742Z               "line": 19
2026-06-08T23:22:37.7642019Z             },
2026-06-08T23:22:37.7642306Z             {
2026-06-08T23:22:37.7642670Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-08T23:22:37.7642971Z               "line": 21
2026-06-08T23:22:37.7643256Z             },
2026-06-08T23:22:37.7643533Z             {
2026-06-08T23:22:37.7643900Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-08T23:22:37.7644196Z               "line": 48
2026-06-08T23:22:37.7644477Z             },
2026-06-08T23:22:37.7644758Z             {
2026-06-08T23:22:37.7645121Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-08T23:22:37.7645419Z               "line": 142
2026-06-08T23:22:37.7645700Z             }
2026-06-08T23:22:37.7645986Z           ]
2026-06-08T23:22:37.7646263Z         },
2026-06-08T23:22:37.7646545Z         "int": {
2026-06-08T23:22:37.7646849Z           "complete": true,
2026-06-08T23:22:37.7647240Z           "evidence": [
2026-06-08T23:22:37.7647541Z             {
2026-06-08T23:22:37.7647993Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-08T23:22:37.7648300Z               "line": 10
2026-06-08T23:22:37.7648582Z             },
2026-06-08T23:22:37.7648868Z             {
2026-06-08T23:22:37.7649312Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-08T23:22:37.7649618Z               "line": 70
2026-06-08T23:22:37.7649904Z             }
2026-06-08T23:22:37.7650195Z           ]
2026-06-08T23:22:37.7650483Z         },
2026-06-08T23:22:37.7650767Z         "unit": {
2026-06-08T23:22:37.7651072Z           "complete": true,
2026-06-08T23:22:37.7651353Z           "evidence": [
2026-06-08T23:22:37.7651631Z             {
2026-06-08T23:22:37.7651993Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-08T23:22:37.7652388Z               "line": 196
2026-06-08T23:22:37.7652684Z             },
2026-06-08T23:22:37.7652974Z             {
2026-06-08T23:22:37.7653343Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-08T23:22:37.7653643Z               "line": 215
2026-06-08T23:22:37.7654025Z             },
2026-06-08T23:22:37.7654311Z             {
2026-06-08T23:22:37.7654679Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-08T23:22:37.7654979Z               "line": 237
2026-06-08T23:22:37.7655250Z             }
2026-06-08T23:22:37.7655536Z           ]
2026-06-08T23:22:37.7655813Z         }
2026-06-08T23:22:37.7656095Z       }
2026-06-08T23:22:37.7656371Z     },
2026-06-08T23:22:37.7656648Z     {
2026-06-08T23:22:37.7657034Z       "id": "REQ-MSG-4",
2026-06-08T23:22:37.7659428Z       "title": "Listener stream stdout emits EVENT envelope lines (sister-format, ADR-0001): parse the __REPLY_TO__ frame, pass pre-formed typed envelopes through verbatim (no double-wrap), compose <EVENT type=\"msg\" from=…> otherwise, chunk oversized lines into EVENT-PART",
2026-06-08T23:22:37.7659771Z       "requiredStages": [
2026-06-08T23:22:37.7660067Z         "impl",
2026-06-08T23:22:37.7660353Z         "unit",
2026-06-08T23:22:37.7660644Z         "int"
2026-06-08T23:22:37.7660934Z       ],
2026-06-08T23:22:37.7661246Z       "stages": {
2026-06-08T23:22:37.7661538Z         "doc": {
2026-06-08T23:22:37.7661852Z           "complete": false,
2026-06-08T23:22:37.7662153Z           "evidence": []
2026-06-08T23:22:37.7662434Z         },
2026-06-08T23:22:37.7662726Z         "impl": {
2026-06-08T23:22:37.7663041Z           "complete": true,
2026-06-08T23:22:37.7663341Z           "evidence": [
2026-06-08T23:22:37.7663629Z             {
2026-06-08T23:22:37.7663999Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-08T23:22:37.7664304Z               "line": 16
2026-06-08T23:22:37.7664591Z             },
2026-06-08T23:22:37.7664876Z             {
2026-06-08T23:22:37.7665234Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-08T23:22:37.7665569Z               "line": 25
2026-06-08T23:22:37.7665854Z             },
2026-06-08T23:22:37.7666140Z             {
2026-06-08T23:22:37.7666510Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-08T23:22:37.7666811Z               "line": 47
2026-06-08T23:22:37.7667194Z             },
2026-06-08T23:22:37.7667479Z             {
2026-06-08T23:22:37.7667866Z               "path": "crates/spt/src/api/startup.rs",
2026-06-08T23:22:37.7668166Z               "line": 363
2026-06-08T23:22:37.7668448Z             },
2026-06-08T23:22:37.7668734Z             {
2026-06-08T23:22:37.7669070Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.7669363Z               "line": 1807
2026-06-08T23:22:37.7669645Z             }
2026-06-08T23:22:37.7669936Z           ]
2026-06-08T23:22:37.7670218Z         },
2026-06-08T23:22:37.7670523Z         "int": {
2026-06-08T23:22:37.7670837Z           "complete": true,
2026-06-08T23:22:37.7671142Z           "evidence": [
2026-06-08T23:22:37.7671434Z             {
2026-06-08T23:22:37.7671835Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-08T23:22:37.7672131Z               "line": 93
2026-06-08T23:22:37.7672417Z             },
2026-06-08T23:22:37.7672703Z             {
2026-06-08T23:22:37.7673113Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-08T23:22:37.7673413Z               "line": 123
2026-06-08T23:22:37.7673704Z             }
2026-06-08T23:22:37.7673986Z           ]
2026-06-08T23:22:37.7674271Z         },
2026-06-08T23:22:37.7674569Z         "unit": {
2026-06-08T23:22:37.7674879Z           "complete": true,
2026-06-08T23:22:37.7675184Z           "evidence": [
2026-06-08T23:22:37.7675460Z             {
2026-06-08T23:22:37.7675833Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-08T23:22:37.7676129Z               "line": 62
2026-06-08T23:22:37.7676419Z             },
2026-06-08T23:22:37.7676705Z             {
2026-06-08T23:22:37.7677138Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-08T23:22:37.7677567Z               "line": 73
2026-06-08T23:22:37.7677854Z             },
2026-06-08T23:22:37.7678135Z             {
2026-06-08T23:22:37.7678492Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-08T23:22:37.7678788Z               "line": 84
2026-06-08T23:22:37.7679164Z             },
2026-06-08T23:22:37.7679446Z             {
2026-06-08T23:22:37.7679805Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-08T23:22:37.7680106Z               "line": 96
2026-06-08T23:22:37.7680392Z             },
2026-06-08T23:22:37.7680678Z             {
2026-06-08T23:22:37.7681040Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-08T23:22:37.7681331Z               "line": 105
2026-06-08T23:22:37.7681618Z             },
2026-06-08T23:22:37.7681895Z             {
2026-06-08T23:22:37.7682250Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-08T23:22:37.7682553Z               "line": 120
2026-06-08T23:22:37.7682829Z             }
2026-06-08T23:22:37.7683120Z           ]
2026-06-08T23:22:37.7683401Z         }
2026-06-08T23:22:37.7683683Z       }
2026-06-08T23:22:37.7683968Z     },
2026-06-08T23:22:37.7684250Z     {
2026-06-08T23:22:37.7684556Z       "id": "REQ-NET-1",
2026-06-08T23:22:37.7685149Z       "title": "WAN messaging first-class, behind default-on net feature flag",
2026-06-08T23:22:37.7685473Z       "requiredStages": [
2026-06-08T23:22:37.7685759Z         "impl",
2026-06-08T23:22:37.7686045Z         "unit",
2026-06-08T23:22:37.7686335Z         "int"
2026-06-08T23:22:37.7686612Z       ],
2026-06-08T23:22:37.7686902Z       "stages": {
2026-06-08T23:22:37.7687280Z         "doc": {
2026-06-08T23:22:37.7687612Z           "complete": false,
2026-06-08T23:22:37.7687912Z           "evidence": []
2026-06-08T23:22:37.7688199Z         },
2026-06-08T23:22:37.7688489Z         "impl": {
2026-06-08T23:22:37.7688799Z           "complete": true,
2026-06-08T23:22:37.7689095Z           "evidence": [
2026-06-08T23:22:37.7689381Z             {
2026-06-08T23:22:37.7689791Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-08T23:22:37.7690086Z               "line": 54
2026-06-08T23:22:37.7690370Z             },
2026-06-08T23:22:37.7690652Z             {
2026-06-08T23:22:37.7691056Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-08T23:22:37.7691362Z               "line": 594
2026-06-08T23:22:37.7691648Z             },
2026-06-08T23:22:37.7691929Z             {
2026-06-08T23:22:37.7692305Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-08T23:22:37.7692601Z               "line": 69
2026-06-08T23:22:37.7692890Z             },
2026-06-08T23:22:37.7693176Z             {
2026-06-08T23:22:37.7693585Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-08T23:22:37.7693886Z               "line": 97
2026-06-08T23:22:37.7694177Z             },
2026-06-08T23:22:37.7694454Z             {
2026-06-08T23:22:37.7694848Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-08T23:22:37.7695163Z               "line": 159
2026-06-08T23:22:37.7695436Z             },
2026-06-08T23:22:37.7695726Z             {
2026-06-08T23:22:37.7696131Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-08T23:22:37.7696436Z               "line": 175
2026-06-08T23:22:37.7696717Z             },
2026-06-08T23:22:37.7697093Z             {
2026-06-08T23:22:37.7697503Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-08T23:22:37.7697803Z               "line": 190
2026-06-08T23:22:37.7698127Z             },
2026-06-08T23:22:37.7698410Z             {
2026-06-08T23:22:37.7698811Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-08T23:22:37.7699107Z               "line": 271
2026-06-08T23:22:37.7699397Z             },
2026-06-08T23:22:37.7699679Z             {
2026-06-08T23:22:37.7700089Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-08T23:22:37.7700395Z               "line": 306
2026-06-08T23:22:37.7700680Z             },
2026-06-08T23:22:37.7701073Z             {
2026-06-08T23:22:37.7701474Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-08T23:22:37.7701770Z               "line": 312
2026-06-08T23:22:37.7702061Z             },
2026-06-08T23:22:37.7702346Z             {
2026-06-08T23:22:37.7702752Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-08T23:22:37.7703142Z               "line": 318
2026-06-08T23:22:37.7703427Z             },
2026-06-08T23:22:37.7703722Z             {
2026-06-08T23:22:37.7704122Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-08T23:22:37.7704431Z               "line": 334
2026-06-08T23:22:37.7704717Z             },
2026-06-08T23:22:37.7705004Z             {
2026-06-08T23:22:37.7705413Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-08T23:22:37.7705718Z               "line": 354
2026-06-08T23:22:37.7706012Z             },
2026-06-08T23:22:37.7706284Z             {
2026-06-08T23:22:37.7706679Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-08T23:22:37.7707050Z               "line": 35
2026-06-08T23:22:37.7707337Z             },
2026-06-08T23:22:37.7707623Z             {
2026-06-08T23:22:37.7708023Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-08T23:22:37.7708318Z               "line": 85
2026-06-08T23:22:37.7708600Z             },
2026-06-08T23:22:37.7708895Z             {
2026-06-08T23:22:37.7709276Z               "path": "crates/spt-store/src/spool.rs",
2026-06-08T23:22:37.7709577Z               "line": 135
2026-06-08T23:22:37.7709858Z             },
2026-06-08T23:22:37.7710145Z             {
2026-06-08T23:22:37.7710492Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.7710793Z               "line": 1655
2026-06-08T23:22:37.7711085Z             },
2026-06-08T23:22:37.7711364Z             {
2026-06-08T23:22:37.7711720Z               "path": "crates/spt/src/wansend.rs",
2026-06-08T23:22:37.7712016Z               "line": 17
2026-06-08T23:22:37.7712306Z             }
2026-06-08T23:22:37.7712602Z           ]
2026-06-08T23:22:37.7712882Z         },
2026-06-08T23:22:37.7713173Z         "int": {
2026-06-08T23:22:37.7713483Z           "complete": true,
2026-06-08T23:22:37.7713788Z           "evidence": [
2026-06-08T23:22:37.7714076Z             {
2026-06-08T23:22:37.7714490Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-08T23:22:37.7714805Z               "line": 340
2026-06-08T23:22:37.7715087Z             },
2026-06-08T23:22:37.7715373Z             {
2026-06-08T23:22:37.7715778Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-08T23:22:37.7716088Z               "line": 603
2026-06-08T23:22:37.7716373Z             },
2026-06-08T23:22:37.7716657Z             {
2026-06-08T23:22:37.7717144Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-08T23:22:37.7717440Z               "line": 876
2026-06-08T23:22:37.7717720Z             }
2026-06-08T23:22:37.7717992Z           ]
2026-06-08T23:22:37.7718269Z         },
2026-06-08T23:22:37.7718540Z         "unit": {
2026-06-08T23:22:37.7718850Z           "complete": true,
2026-06-08T23:22:37.7719141Z           "evidence": [
2026-06-08T23:22:37.7719422Z             {
2026-06-08T23:22:37.7719822Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-08T23:22:37.7720119Z               "line": 650
2026-06-08T23:22:37.7720409Z             },
2026-06-08T23:22:37.7720700Z             {
2026-06-08T23:22:37.7721095Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-08T23:22:37.7721405Z               "line": 685
2026-06-08T23:22:37.7721692Z             },
2026-06-08T23:22:37.7721972Z             {
2026-06-08T23:22:37.7722385Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-08T23:22:37.7722686Z               "line": 931
2026-06-08T23:22:37.7722970Z             },
2026-06-08T23:22:37.7723257Z             {
2026-06-08T23:22:37.7723652Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-08T23:22:37.7723952Z               "line": 152
2026-06-08T23:22:37.7724376Z             },
2026-06-08T23:22:37.7724655Z             {
2026-06-08T23:22:37.7725060Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-08T23:22:37.7725361Z               "line": 442
2026-06-08T23:22:37.7725647Z             },
2026-06-08T23:22:37.7725933Z             {
2026-06-08T23:22:37.7726329Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-08T23:22:37.7726731Z               "line": 456
2026-06-08T23:22:37.7727100Z             },
2026-06-08T23:22:37.7727385Z             {
2026-06-08T23:22:37.7727790Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-08T23:22:37.7728090Z               "line": 475
2026-06-08T23:22:37.7728376Z             },
2026-06-08T23:22:37.7728654Z             {
2026-06-08T23:22:37.7729053Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-08T23:22:37.7729354Z               "line": 119
2026-06-08T23:22:37.7729645Z             },
2026-06-08T23:22:37.7729934Z             {
2026-06-08T23:22:37.7730326Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-08T23:22:37.7730631Z               "line": 162
2026-06-08T23:22:37.7730917Z             },
2026-06-08T23:22:37.7731204Z             {
2026-06-08T23:22:37.7731575Z               "path": "crates/spt-store/src/spool.rs",
2026-06-08T23:22:37.7731880Z               "line": 492
2026-06-08T23:22:37.7732172Z             },
2026-06-08T23:22:37.7732460Z             {
2026-06-08T23:22:37.7732821Z               "path": "crates/spt/src/wansend.rs",
2026-06-08T23:22:37.7733121Z               "line": 615
2026-06-08T23:22:37.7733417Z             },
2026-06-08T23:22:37.7733702Z             {
2026-06-08T23:22:37.7734066Z               "path": "crates/spt/src/wansend.rs",
2026-06-08T23:22:37.7734376Z               "line": 1004
2026-06-08T23:22:37.7734657Z             }
2026-06-08T23:22:37.7734941Z           ]
2026-06-08T23:22:37.7735224Z         }
2026-06-08T23:22:37.7735511Z       }
2026-06-08T23:22:37.7735788Z     },
2026-06-08T23:22:37.7736069Z     {
2026-06-08T23:22:37.7736384Z       "id": "REQ-NET-2",
2026-06-08T23:22:37.7737051Z       "title": "n0 relay default + self-host knob + plain-language disclosure",
2026-06-08T23:22:37.7737371Z       "requiredStages": [
2026-06-08T23:22:37.7737656Z         "impl"
2026-06-08T23:22:37.7737945Z       ],
2026-06-08T23:22:37.7738230Z       "stages": {
2026-06-08T23:22:37.7738526Z         "doc": {
2026-06-08T23:22:37.7738836Z           "complete": false,
2026-06-08T23:22:37.7739136Z           "evidence": []
2026-06-08T23:22:37.7739422Z         },
2026-06-08T23:22:37.7739708Z         "impl": {
2026-06-08T23:22:37.7740018Z           "complete": true,
2026-06-08T23:22:37.7740323Z           "evidence": [
2026-06-08T23:22:37.7740599Z             {
2026-06-08T23:22:37.7740995Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-08T23:22:37.7741290Z               "line": 57
2026-06-08T23:22:37.7741577Z             },
2026-06-08T23:22:37.7741848Z             {
2026-06-08T23:22:37.7742244Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-08T23:22:37.7742544Z               "line": 71
2026-06-08T23:22:37.7742830Z             },
2026-06-08T23:22:37.7743115Z             {
2026-06-08T23:22:37.7743495Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-08T23:22:37.7743796Z               "line": 81
2026-06-08T23:22:37.7744072Z             },
2026-06-08T23:22:37.7744359Z             {
2026-06-08T23:22:37.7744754Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-08T23:22:37.7745054Z               "line": 159
2026-06-08T23:22:37.7745336Z             },
2026-06-08T23:22:37.7745616Z             {
2026-06-08T23:22:37.7746019Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-08T23:22:37.7746310Z               "line": 175
2026-06-08T23:22:37.7746591Z             },
2026-06-08T23:22:37.7746873Z             {
2026-06-08T23:22:37.7747364Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-08T23:22:37.7747678Z               "line": 190
2026-06-08T23:22:37.7748077Z             }
2026-06-08T23:22:37.7748375Z           ]
2026-06-08T23:22:37.7748656Z         },
2026-06-08T23:22:37.7748948Z         "int": {
2026-06-08T23:22:37.7749277Z           "complete": false,
2026-06-08T23:22:37.7749578Z           "evidence": []
2026-06-08T23:22:37.7749863Z         },
2026-06-08T23:22:37.7750155Z         "unit": {
2026-06-08T23:22:37.7750559Z           "complete": true,
2026-06-08T23:22:37.7750854Z           "evidence": [
2026-06-08T23:22:37.7751146Z             {
2026-06-08T23:22:37.7751540Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-08T23:22:37.7751841Z               "line": 402
2026-06-08T23:22:37.7752128Z             }
2026-06-08T23:22:37.7752418Z           ]
2026-06-08T23:22:37.7752700Z         }
2026-06-08T23:22:37.7752987Z       }
2026-06-08T23:22:37.7753273Z     },
2026-06-08T23:22:37.7753562Z     {
2026-06-08T23:22:37.7753864Z       "id": "REQ-NET-3",
2026-06-08T23:22:37.7757199Z       "title": "Cross-node Psyche sync over P2P replaces gh-repo-sync",
2026-06-08T23:22:37.7757561Z       "requiredStages": [
2026-06-08T23:22:37.7757852Z         "impl",
2026-06-08T23:22:37.7758139Z         "unit"
2026-06-08T23:22:37.7758421Z       ],
2026-06-08T23:22:37.7758710Z       "stages": {
2026-06-08T23:22:37.7759002Z         "doc": {
2026-06-08T23:22:37.7759317Z           "complete": false,
2026-06-08T23:22:37.7759627Z           "evidence": []
2026-06-08T23:22:37.7759918Z         },
2026-06-08T23:22:37.7760204Z         "impl": {
2026-06-08T23:22:37.7760514Z           "complete": true,
2026-06-08T23:22:37.7760815Z           "evidence": [
2026-06-08T23:22:37.7761105Z             {
2026-06-08T23:22:37.7761495Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-08T23:22:37.7761791Z               "line": 39
2026-06-08T23:22:37.7762077Z             },
2026-06-08T23:22:37.7762360Z             {
2026-06-08T23:22:37.7762744Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-08T23:22:37.7763050Z               "line": 182
2026-06-08T23:22:37.7763335Z             },
2026-06-08T23:22:37.7763631Z             {
2026-06-08T23:22:37.7764007Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-08T23:22:37.7764310Z               "line": 333
2026-06-08T23:22:37.7764592Z             },
2026-06-08T23:22:37.7764878Z             {
2026-06-08T23:22:37.7765264Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-08T23:22:37.7765565Z               "line": 36
2026-06-08T23:22:37.7765855Z             },
2026-06-08T23:22:37.7766137Z             {
2026-06-08T23:22:37.7766555Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-08T23:22:37.7766853Z               "line": 158
2026-06-08T23:22:37.7767225Z             },
2026-06-08T23:22:37.7767506Z             {
2026-06-08T23:22:37.7767921Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-08T23:22:37.7768221Z               "line": 212
2026-06-08T23:22:37.7768503Z             },
2026-06-08T23:22:37.7768779Z             {
2026-06-08T23:22:37.7769178Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-08T23:22:37.7769495Z               "line": 233
2026-06-08T23:22:37.7769782Z             },
2026-06-08T23:22:37.7770064Z             {
2026-06-08T23:22:37.7770478Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-08T23:22:37.7770783Z               "line": 291
2026-06-08T23:22:37.7771079Z             },
2026-06-08T23:22:37.7771355Z             {
2026-06-08T23:22:37.7771771Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-08T23:22:37.7772065Z               "line": 310
2026-06-08T23:22:37.7772346Z             },
2026-06-08T23:22:37.7772637Z             {
2026-06-08T23:22:37.7773028Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-08T23:22:37.7773319Z               "line": 348
2026-06-08T23:22:37.7773586Z             },
2026-06-08T23:22:37.7773863Z             {
2026-06-08T23:22:37.7774268Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-08T23:22:37.7774558Z               "line": 393
2026-06-08T23:22:37.7774975Z             },
2026-06-08T23:22:37.7775247Z             {
2026-06-08T23:22:37.7775667Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-08T23:22:37.7775968Z               "line": 406
2026-06-08T23:22:37.7776253Z             },
2026-06-08T23:22:37.7776539Z             {
2026-06-08T23:22:37.7777110Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-08T23:22:37.7777418Z               "line": 29
2026-06-08T23:22:37.7777700Z             },
2026-06-08T23:22:37.7777995Z             {
2026-06-08T23:22:37.7778395Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-08T23:22:37.7778692Z               "line": 72
2026-06-08T23:22:37.7778982Z             },
2026-06-08T23:22:37.7779259Z             {
2026-06-08T23:22:37.7779668Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-08T23:22:37.7779970Z               "line": 123
2026-06-08T23:22:37.7780257Z             }
2026-06-08T23:22:37.7780543Z           ]
2026-06-08T23:22:37.7780829Z         },
2026-06-08T23:22:37.7781126Z         "int": {
2026-06-08T23:22:37.7781431Z           "complete": false,
2026-06-08T23:22:37.7781736Z           "evidence": []
2026-06-08T23:22:37.7782021Z         },
2026-06-08T23:22:37.7782316Z         "unit": {
2026-06-08T23:22:37.7782634Z           "complete": true,
2026-06-08T23:22:37.7782939Z           "evidence": [
2026-06-08T23:22:37.7783226Z             {
2026-06-08T23:22:37.7783622Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-08T23:22:37.7783927Z               "line": 223
2026-06-08T23:22:37.7784213Z             },
2026-06-08T23:22:37.7784499Z             {
2026-06-08T23:22:37.7784891Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-08T23:22:37.7785185Z               "line": 351
2026-06-08T23:22:37.7785473Z             },
2026-06-08T23:22:37.7785760Z             {
2026-06-08T23:22:37.7786145Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-08T23:22:37.7786436Z               "line": 502
2026-06-08T23:22:37.7786718Z             },
2026-06-08T23:22:37.7787089Z             {
2026-06-08T23:22:37.7787467Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-08T23:22:37.7787756Z               "line": 93
2026-06-08T23:22:37.7788035Z             },
2026-06-08T23:22:37.7788321Z             {
2026-06-08T23:22:37.7788693Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-08T23:22:37.7788998Z               "line": 142
2026-06-08T23:22:37.7789285Z             },
2026-06-08T23:22:37.7789565Z             {
2026-06-08T23:22:37.7789966Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-08T23:22:37.7790261Z               "line": 315
2026-06-08T23:22:37.7790550Z             },
2026-06-08T23:22:37.7790827Z             {
2026-06-08T23:22:37.7791226Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-08T23:22:37.7791527Z               "line": 355
2026-06-08T23:22:37.7791814Z             },
2026-06-08T23:22:37.7792099Z             {
2026-06-08T23:22:37.7792504Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-08T23:22:37.7792809Z               "line": 494
2026-06-08T23:22:37.7793095Z             }
2026-06-08T23:22:37.7793382Z           ]
2026-06-08T23:22:37.7793668Z         }
2026-06-08T23:22:37.7793944Z       }
2026-06-08T23:22:37.7794226Z     },
2026-06-08T23:22:37.7794512Z     {
2026-06-08T23:22:37.7794836Z       "id": "REQ-NODE-IDENTITY",
2026-06-08T23:22:37.7795575Z       "title": "Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex",
2026-06-08T23:22:37.7795897Z       "requiredStages": [
2026-06-08T23:22:37.7796187Z         "impl",
2026-06-08T23:22:37.7796473Z         "unit"
2026-06-08T23:22:37.7796754Z       ],
2026-06-08T23:22:37.7797117Z       "stages": {
2026-06-08T23:22:37.7797402Z         "doc": {
2026-06-08T23:22:37.7797708Z           "complete": false,
2026-06-08T23:22:37.7798013Z           "evidence": []
2026-06-08T23:22:37.7798307Z         },
2026-06-08T23:22:37.7798600Z         "impl": {
2026-06-08T23:22:37.7799015Z           "complete": true,
2026-06-08T23:22:37.7799310Z           "evidence": [
2026-06-08T23:22:37.7799592Z             {
2026-06-08T23:22:37.7799998Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-08T23:22:37.7800299Z               "line": 60
2026-06-08T23:22:37.7800584Z             },
2026-06-08T23:22:37.7800974Z             {
2026-06-08T23:22:37.7801378Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-08T23:22:37.7801673Z               "line": 68
2026-06-08T23:22:37.7801964Z             },
2026-06-08T23:22:37.7802246Z             {
2026-06-08T23:22:37.7802645Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-08T23:22:37.7802942Z               "line": 86
2026-06-08T23:22:37.7803223Z             },
2026-06-08T23:22:37.7803514Z             {
2026-06-08T23:22:37.7803909Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-08T23:22:37.7804204Z               "line": 120
2026-06-08T23:22:37.7804491Z             },
2026-06-08T23:22:37.7804781Z             {
2026-06-08T23:22:37.7805191Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-08T23:22:37.7805492Z               "line": 127
2026-06-08T23:22:37.7805778Z             },
2026-06-08T23:22:37.7806059Z             {
2026-06-08T23:22:37.7806471Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-08T23:22:37.7806785Z               "line": 143
2026-06-08T23:22:37.7807152Z             },
2026-06-08T23:22:37.7807438Z             {
2026-06-08T23:22:37.7807815Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-08T23:22:37.7808115Z               "line": 16
2026-06-08T23:22:37.7808396Z             }
2026-06-08T23:22:37.7808688Z           ]
2026-06-08T23:22:37.7808982Z         },
2026-06-08T23:22:37.7809266Z         "int": {
2026-06-08T23:22:37.7809580Z           "complete": false,
2026-06-08T23:22:37.7809880Z           "evidence": []
2026-06-08T23:22:37.7810162Z         },
2026-06-08T23:22:37.7810443Z         "unit": {
2026-06-08T23:22:37.7810758Z           "complete": true,
2026-06-08T23:22:37.7811063Z           "evidence": [
2026-06-08T23:22:37.7811344Z             {
2026-06-08T23:22:37.7811736Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-08T23:22:37.7812023Z               "line": 199
2026-06-08T23:22:37.7812309Z             },
2026-06-08T23:22:37.7812581Z             {
2026-06-08T23:22:37.7812981Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-08T23:22:37.7813282Z               "line": 218
2026-06-08T23:22:37.7813558Z             },
2026-06-08T23:22:37.7813854Z             {
2026-06-08T23:22:37.7814239Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-08T23:22:37.7814540Z               "line": 234
2026-06-08T23:22:37.7814822Z             },
2026-06-08T23:22:37.7815107Z             {
2026-06-08T23:22:37.7815499Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-08T23:22:37.7815798Z               "line": 256
2026-06-08T23:22:37.7816085Z             },
2026-06-08T23:22:37.7816367Z             {
2026-06-08T23:22:37.7816756Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-08T23:22:37.7817139Z               "line": 124
2026-06-08T23:22:37.7817421Z             },
2026-06-08T23:22:37.7817703Z             {
2026-06-08T23:22:37.7818084Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-08T23:22:37.7818398Z               "line": 140
2026-06-08T23:22:37.7818689Z             },
2026-06-08T23:22:37.7818970Z             {
2026-06-08T23:22:37.7819356Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-08T23:22:37.7819659Z               "line": 155
2026-06-08T23:22:37.7819941Z             }
2026-06-08T23:22:37.7820227Z           ]
2026-06-08T23:22:37.7820508Z         }
2026-06-08T23:22:37.7820790Z       }
2026-06-08T23:22:37.7821066Z     },
2026-06-08T23:22:37.7821342Z     {
2026-06-08T23:22:37.7821652Z       "id": "REQ-NOTIF-1",
2026-06-08T23:22:37.7822865Z       "title": "Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts",
2026-06-08T23:22:37.7823298Z       "requiredStages": [
2026-06-08T23:22:37.7823584Z         "impl",
2026-06-08T23:22:37.7823871Z         "unit",
2026-06-08T23:22:37.7824151Z         "int"
2026-06-08T23:22:37.7824428Z       ],
2026-06-08T23:22:37.7824720Z       "stages": {
2026-06-08T23:22:37.7825110Z         "doc": {
2026-06-08T23:22:37.7825420Z           "complete": false,
2026-06-08T23:22:37.7825721Z           "evidence": []
2026-06-08T23:22:37.7826001Z         },
2026-06-08T23:22:37.7826298Z         "impl": {
2026-06-08T23:22:37.7826607Z           "complete": true,
2026-06-08T23:22:37.7826908Z           "evidence": [
2026-06-08T23:22:37.7827280Z             {
2026-06-08T23:22:37.7827681Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-08T23:22:37.7827977Z               "line": 514
2026-06-08T23:22:37.7828268Z             },
2026-06-08T23:22:37.7828549Z             {
2026-06-08T23:22:37.7828940Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-08T23:22:37.7829244Z               "line": 30
2026-06-08T23:22:37.7829531Z             },
2026-06-08T23:22:37.7829827Z             {
2026-06-08T23:22:37.7830210Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-08T23:22:37.7830501Z               "line": 62
2026-06-08T23:22:37.7830782Z             },
2026-06-08T23:22:37.7831078Z             {
2026-06-08T23:22:37.7831463Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-08T23:22:37.7831759Z               "line": 86
2026-06-08T23:22:37.7832046Z             },
2026-06-08T23:22:37.7832333Z             {
2026-06-08T23:22:37.7832715Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-08T23:22:37.7833015Z               "line": 100
2026-06-08T23:22:37.7833301Z             },
2026-06-08T23:22:37.7833587Z             {
2026-06-08T23:22:37.7833964Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-08T23:22:37.7834260Z               "line": 135
2026-06-08T23:22:37.7834546Z             },
2026-06-08T23:22:37.7834832Z             {
2026-06-08T23:22:37.7835210Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-08T23:22:37.7835517Z               "line": 180
2026-06-08T23:22:37.7835798Z             },
2026-06-08T23:22:37.7836079Z             {
2026-06-08T23:22:37.7836457Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-08T23:22:37.7836766Z               "line": 251
2026-06-08T23:22:37.7837130Z             },
2026-06-08T23:22:37.7837411Z             {
2026-06-08T23:22:37.7837793Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-08T23:22:37.7838091Z               "line": 361
2026-06-08T23:22:37.7838375Z             },
2026-06-08T23:22:37.7838660Z             {
2026-06-08T23:22:37.7839052Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-08T23:22:37.7839358Z               "line": 421
2026-06-08T23:22:37.7839653Z             },
2026-06-08T23:22:37.7839934Z             {
2026-06-08T23:22:37.7840340Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-08T23:22:37.7840648Z               "line": 24
2026-06-08T23:22:37.7840932Z             },
2026-06-08T23:22:37.7841217Z             {
2026-06-08T23:22:37.7841619Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-08T23:22:37.7841920Z               "line": 34
2026-06-08T23:22:37.7842206Z             },
2026-06-08T23:22:37.7842500Z             {
2026-06-08T23:22:37.7842898Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-08T23:22:37.7843191Z               "line": 60
2026-06-08T23:22:37.7843479Z             },
2026-06-08T23:22:37.7843765Z             {
2026-06-08T23:22:37.7844167Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-08T23:22:37.7844467Z               "line": 82
2026-06-08T23:22:37.7844748Z             },
2026-06-08T23:22:37.7845038Z             {
2026-06-08T23:22:37.7845440Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-08T23:22:37.7845736Z               "line": 94
2026-06-08T23:22:37.7846015Z             },
2026-06-08T23:22:37.7846402Z             {
2026-06-08T23:22:37.7846802Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-08T23:22:37.7847179Z               "line": 43
2026-06-08T23:22:37.7847455Z             },
2026-06-08T23:22:37.7847732Z             {
2026-06-08T23:22:37.7848132Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-08T23:22:37.7848522Z               "line": 96
2026-06-08T23:22:37.7848792Z             },
2026-06-08T23:22:37.7849079Z             {
2026-06-08T23:22:37.7849464Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-08T23:22:37.7849760Z               "line": 20
2026-06-08T23:22:37.7850046Z             },
2026-06-08T23:22:37.7850327Z             {
2026-06-08T23:22:37.7850708Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-08T23:22:37.7851008Z               "line": 30
2026-06-08T23:22:37.7851293Z             },
2026-06-08T23:22:37.7851574Z             {
2026-06-08T23:22:37.7851960Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-08T23:22:37.7852264Z               "line": 50
2026-06-08T23:22:37.7852551Z             },
2026-06-08T23:22:37.7852837Z             {
2026-06-08T23:22:37.7853218Z               "path": "crates/spt-store/src/notif.rs",
2026-06-08T23:22:37.7853515Z               "line": 28
2026-06-08T23:22:37.7853794Z             },
2026-06-08T23:22:37.7854082Z             {
2026-06-08T23:22:37.7854455Z               "path": "crates/spt-store/src/notif.rs",
2026-06-08T23:22:37.7854751Z               "line": 126
2026-06-08T23:22:37.7855037Z             },
2026-06-08T23:22:37.7855318Z             {
2026-06-08T23:22:37.7855691Z               "path": "crates/spt-store/src/notif.rs",
2026-06-08T23:22:37.7855986Z               "line": 161
2026-06-08T23:22:37.7856272Z             },
2026-06-08T23:22:37.7856551Z             {
2026-06-08T23:22:37.7856928Z               "path": "crates/spt-store/src/notif.rs",
2026-06-08T23:22:37.7857324Z               "line": 202
2026-06-08T23:22:37.7857606Z             },
2026-06-08T23:22:37.7857897Z             {
2026-06-08T23:22:37.7858274Z               "path": "crates/spt-store/src/notif.rs",
2026-06-08T23:22:37.7858579Z               "line": 213
2026-06-08T23:22:37.7858865Z             },
2026-06-08T23:22:37.7859149Z             {
2026-06-08T23:22:37.7859534Z               "path": "crates/spt-store/src/notif.rs",
2026-06-08T23:22:37.7859824Z               "line": 238
2026-06-08T23:22:37.7860110Z             },
2026-06-08T23:22:37.7860396Z             {
2026-06-08T23:22:37.7860768Z               "path": "crates/spt-store/src/notif.rs",
2026-06-08T23:22:37.7861064Z               "line": 261
2026-06-08T23:22:37.7861350Z             },
2026-06-08T23:22:37.7861635Z             {
2026-06-08T23:22:37.7862023Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-08T23:22:37.7862323Z               "line": 63
2026-06-08T23:22:37.7862605Z             }
2026-06-08T23:22:37.7862886Z           ]
2026-06-08T23:22:37.7863163Z         },
2026-06-08T23:22:37.7863449Z         "int": {
2026-06-08T23:22:37.7863764Z           "complete": true,
2026-06-08T23:22:37.7864065Z           "evidence": [
2026-06-08T23:22:37.7864340Z             {
2026-06-08T23:22:37.7864744Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-08T23:22:37.7865039Z               "line": 284
2026-06-08T23:22:37.7865325Z             },
2026-06-08T23:22:37.7865616Z             {
2026-06-08T23:22:37.7866030Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-08T23:22:37.7866327Z               "line": 102
2026-06-08T23:22:37.7866613Z             },
2026-06-08T23:22:37.7866895Z             {
2026-06-08T23:22:37.7867383Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-08T23:22:37.7867684Z               "line": 612
2026-06-08T23:22:37.7867971Z             },
2026-06-08T23:22:37.7868261Z             {
2026-06-08T23:22:37.7868661Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-08T23:22:37.7868962Z               "line": 1005
2026-06-08T23:22:37.7869242Z             }
2026-06-08T23:22:37.7869643Z           ]
2026-06-08T23:22:37.7869926Z         },
2026-06-08T23:22:37.7870217Z         "unit": {
2026-06-08T23:22:37.7870528Z           "complete": true,
2026-06-08T23:22:37.7870823Z           "evidence": [
2026-06-08T23:22:37.7871109Z             {
2026-06-08T23:22:37.7871490Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-08T23:22:37.7871891Z               "line": 514
2026-06-08T23:22:37.7872186Z             },
2026-06-08T23:22:37.7872465Z             {
2026-06-08T23:22:37.7872855Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-08T23:22:37.7873151Z               "line": 563
2026-06-08T23:22:37.7873437Z             },
2026-06-08T23:22:37.7873714Z             {
2026-06-08T23:22:37.7874095Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-08T23:22:37.7874400Z               "line": 666
2026-06-08T23:22:37.7874681Z             },
2026-06-08T23:22:37.7874970Z             {
2026-06-08T23:22:37.7875346Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-08T23:22:37.7875656Z               "line": 698
2026-06-08T23:22:37.7875938Z             },
2026-06-08T23:22:37.7876224Z             {
2026-06-08T23:22:37.7876609Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-08T23:22:37.7876901Z               "line": 766
2026-06-08T23:22:37.7877276Z             },
2026-06-08T23:22:37.7877553Z             {
2026-06-08T23:22:37.7877934Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-08T23:22:37.7878230Z               "line": 824
2026-06-08T23:22:37.7878517Z             },
2026-06-08T23:22:37.7878798Z             {
2026-06-08T23:22:37.7879173Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-08T23:22:37.7879479Z               "line": 1045
2026-06-08T23:22:37.7879757Z             },
2026-06-08T23:22:37.7880043Z             {
2026-06-08T23:22:37.7880444Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-08T23:22:37.7880745Z               "line": 157
2026-06-08T23:22:37.7881035Z             },
2026-06-08T23:22:37.7881322Z             {
2026-06-08T23:22:37.7881727Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-08T23:22:37.7882031Z               "line": 250
2026-06-08T23:22:37.7882318Z             },
2026-06-08T23:22:37.7882596Z             {
2026-06-08T23:22:37.7883006Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-08T23:22:37.7883316Z               "line": 273
2026-06-08T23:22:37.7883597Z             },
2026-06-08T23:22:37.7883888Z             {
2026-06-08T23:22:37.7884293Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-08T23:22:37.7884593Z               "line": 341
2026-06-08T23:22:37.7884875Z             },
2026-06-08T23:22:37.7885162Z             {
2026-06-08T23:22:37.7885558Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-08T23:22:37.7885864Z               "line": 373
2026-06-08T23:22:37.7886155Z             },
2026-06-08T23:22:37.7886436Z             {
2026-06-08T23:22:37.7886850Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-08T23:22:37.7887241Z               "line": 131
2026-06-08T23:22:37.7887522Z             },
2026-06-08T23:22:37.7887813Z             {
2026-06-08T23:22:37.7888203Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-08T23:22:37.7888499Z               "line": 72
2026-06-08T23:22:37.7888790Z             },
2026-06-08T23:22:37.7889077Z             {
2026-06-08T23:22:37.7889472Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-08T23:22:37.7889768Z               "line": 97
2026-06-08T23:22:37.7890049Z             },
2026-06-08T23:22:37.7890321Z             {
2026-06-08T23:22:37.7890697Z               "path": "crates/spt-store/src/notif.rs",
2026-06-08T23:22:37.7890986Z               "line": 379
2026-06-08T23:22:37.7891262Z             },
2026-06-08T23:22:37.7891548Z             {
2026-06-08T23:22:37.7891915Z               "path": "crates/spt-store/src/notif.rs",
2026-06-08T23:22:37.7892211Z               "line": 417
2026-06-08T23:22:37.7892596Z             },
2026-06-08T23:22:37.7892878Z             {
2026-06-08T23:22:37.7893245Z               "path": "crates/spt-store/src/notif.rs",
2026-06-08T23:22:37.7893539Z               "line": 433
2026-06-08T23:22:37.7893824Z             },
2026-06-08T23:22:37.7894101Z             {
2026-06-08T23:22:37.7894463Z               "path": "crates/spt-store/src/notif.rs",
2026-06-08T23:22:37.7894882Z               "line": 472
2026-06-08T23:22:37.7895167Z             },
2026-06-08T23:22:37.7895449Z             {
2026-06-08T23:22:37.7895835Z               "path": "crates/spt-store/src/notif.rs",
2026-06-08T23:22:37.7896133Z               "line": 489
2026-06-08T23:22:37.7896415Z             },
2026-06-08T23:22:37.7896695Z             {
2026-06-08T23:22:37.7897148Z               "path": "crates/spt-store/src/notif.rs",
2026-06-08T23:22:37.7897453Z               "line": 517
2026-06-08T23:22:37.7897734Z             },
2026-06-08T23:22:37.7898025Z             {
2026-06-08T23:22:37.7898402Z               "path": "crates/spt-store/src/notif.rs",
2026-06-08T23:22:37.7898707Z               "line": 548
2026-06-08T23:22:37.7898988Z             },
2026-06-08T23:22:37.7899270Z             {
2026-06-08T23:22:37.7899670Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-08T23:22:37.7899975Z               "line": 455
2026-06-08T23:22:37.7900271Z             }
2026-06-08T23:22:37.7900562Z           ]
2026-06-08T23:22:37.7900839Z         }
2026-06-08T23:22:37.7901126Z       }
2026-06-08T23:22:37.7901404Z     },
2026-06-08T23:22:37.7901687Z     {
2026-06-08T23:22:37.7901992Z       "id": "REQ-NOTIF-2",
2026-06-08T23:22:37.7902847Z       "title": "spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)",
2026-06-08T23:22:37.7903171Z       "requiredStages": [
2026-06-08T23:22:37.7903452Z         "doc",
2026-06-08T23:22:37.7903749Z         "impl",
2026-06-08T23:22:37.7904033Z         "unit",
2026-06-08T23:22:37.7904322Z         "int"
2026-06-08T23:22:37.7904603Z       ],
2026-06-08T23:22:37.7904898Z       "stages": {
2026-06-08T23:22:37.7905189Z         "doc": {
2026-06-08T23:22:37.7905489Z           "complete": true,
2026-06-08T23:22:37.7905785Z           "evidence": [
2026-06-08T23:22:37.7906066Z             {
2026-06-08T23:22:37.7906385Z               "path": "CONTEXT.md",
2026-06-08T23:22:37.7906684Z               "line": 346
2026-06-08T23:22:37.7907041Z             },
2026-06-08T23:22:37.7907323Z             {
2026-06-08T23:22:37.7907657Z               "path": "docs/MANIFEST.md",
2026-06-08T23:22:37.7907956Z               "line": 62
2026-06-08T23:22:37.7908243Z             }
2026-06-08T23:22:37.7908530Z           ]
2026-06-08T23:22:37.7908806Z         },
2026-06-08T23:22:37.7909097Z         "impl": {
2026-06-08T23:22:37.7909419Z           "complete": true,
2026-06-08T23:22:37.7909715Z           "evidence": [
2026-06-08T23:22:37.7910005Z             {
2026-06-08T23:22:37.7910383Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-08T23:22:37.7910693Z               "line": 280
2026-06-08T23:22:37.7910983Z             },
2026-06-08T23:22:37.7911269Z             {
2026-06-08T23:22:37.7911657Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-08T23:22:37.7911955Z               "line": 294
2026-06-08T23:22:37.7912252Z             },
2026-06-08T23:22:37.7912534Z             {
2026-06-08T23:22:37.7912930Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-08T23:22:37.7913231Z               "line": 319
2026-06-08T23:22:37.7913516Z             },
2026-06-08T23:22:37.7913808Z             {
2026-06-08T23:22:37.7914204Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-08T23:22:37.7914507Z               "line": 126
2026-06-08T23:22:37.7914791Z             },
2026-06-08T23:22:37.7915081Z             {
2026-06-08T23:22:37.7915473Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-08T23:22:37.7915773Z               "line": 72
2026-06-08T23:22:37.7916064Z             },
2026-06-08T23:22:37.7916346Z             {
2026-06-08T23:22:37.7916776Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.7917165Z               "line": 1353
2026-06-08T23:22:37.7917448Z             },
2026-06-08T23:22:37.7917735Z             {
2026-06-08T23:22:37.7918078Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.7918364Z               "line": 1402
2026-06-08T23:22:37.7918747Z             },
2026-06-08T23:22:37.7919037Z             {
2026-06-08T23:22:37.7919381Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.7919681Z               "line": 1481
2026-06-08T23:22:37.7919965Z             },
2026-06-08T23:22:37.7920246Z             {
2026-06-08T23:22:37.7920594Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.7920890Z               "line": 1520
2026-06-08T23:22:37.7921171Z             }
2026-06-08T23:22:37.7921453Z           ]
2026-06-08T23:22:37.7921743Z         },
2026-06-08T23:22:37.7922034Z         "int": {
2026-06-08T23:22:37.7922344Z           "complete": true,
2026-06-08T23:22:37.7922638Z           "evidence": [
2026-06-08T23:22:37.7922928Z             {
2026-06-08T23:22:37.7923333Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-08T23:22:37.7923629Z               "line": 738
2026-06-08T23:22:37.7923915Z             },
2026-06-08T23:22:37.7924206Z             {
2026-06-08T23:22:37.7924606Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-08T23:22:37.7924915Z               "line": 1158
2026-06-08T23:22:37.7925191Z             }
2026-06-08T23:22:37.7925481Z           ]
2026-06-08T23:22:37.7925767Z         },
2026-06-08T23:22:37.7926052Z         "unit": {
2026-06-08T23:22:37.7926358Z           "complete": true,
2026-06-08T23:22:37.7926663Z           "evidence": [
2026-06-08T23:22:37.7927031Z             {
2026-06-08T23:22:37.7927422Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-08T23:22:37.7927720Z               "line": 894
2026-06-08T23:22:37.7928009Z             },
2026-06-08T23:22:37.7928290Z             {
2026-06-08T23:22:37.7928667Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-08T23:22:37.7928977Z               "line": 962
2026-06-08T23:22:37.7929259Z             },
2026-06-08T23:22:37.7929530Z             {
2026-06-08T23:22:37.7929873Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.7930174Z               "line": 4880
2026-06-08T23:22:37.7930496Z             },
2026-06-08T23:22:37.7930787Z             {
2026-06-08T23:22:37.7931126Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.7931431Z               "line": 4935
2026-06-08T23:22:37.7931712Z             }
2026-06-08T23:22:37.7931994Z           ]
2026-06-08T23:22:37.7932275Z         }
2026-06-08T23:22:37.7932562Z       }
2026-06-08T23:22:37.7932849Z     },
2026-06-08T23:22:37.7933128Z     {
2026-06-08T23:22:37.7933445Z       "id": "REQ-PAIR-1",
2026-06-08T23:22:37.7933794Z       "title": "TOTP-seeded SPAKE2 pairing",
2026-06-08T23:22:37.7934109Z       "requiredStages": [
2026-06-08T23:22:37.7934395Z         "impl",
2026-06-08T23:22:37.7934695Z         "unit",
2026-06-08T23:22:37.7934980Z         "int"
2026-06-08T23:22:37.7935262Z       ],
2026-06-08T23:22:37.7935561Z       "stages": {
2026-06-08T23:22:37.7935845Z         "doc": {
2026-06-08T23:22:37.7936154Z           "complete": false,
2026-06-08T23:22:37.7936455Z           "evidence": []
2026-06-08T23:22:37.7936751Z         },
2026-06-08T23:22:37.7937108Z         "impl": {
2026-06-08T23:22:37.7937418Z           "complete": true,
2026-06-08T23:22:37.7937718Z           "evidence": [
2026-06-08T23:22:37.7938000Z             {
2026-06-08T23:22:37.7938440Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-08T23:22:37.7938736Z               "line": 27
2026-06-08T23:22:37.7939027Z             },
2026-06-08T23:22:37.7939308Z             {
2026-06-08T23:22:37.7939737Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-08T23:22:37.7940038Z               "line": 88
2026-06-08T23:22:37.7940323Z             },
2026-06-08T23:22:37.7940609Z             {
2026-06-08T23:22:37.7941138Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-08T23:22:37.7941434Z               "line": 110
2026-06-08T23:22:37.7941715Z             },
2026-06-08T23:22:37.7942000Z             {
2026-06-08T23:22:37.7942416Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-08T23:22:37.7942812Z               "line": 153
2026-06-08T23:22:37.7943099Z             },
2026-06-08T23:22:37.7943380Z             {
2026-06-08T23:22:37.7943806Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-08T23:22:37.7944111Z               "line": 182
2026-06-08T23:22:37.7944401Z             },
2026-06-08T23:22:37.7944692Z             {
2026-06-08T23:22:37.7945121Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-08T23:22:37.7945426Z               "line": 29
2026-06-08T23:22:37.7945712Z             },
2026-06-08T23:22:37.7945994Z             {
2026-06-08T23:22:37.7946462Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-08T23:22:37.7946767Z               "line": 31
2026-06-08T23:22:37.7947129Z             },
2026-06-08T23:22:37.7947415Z             {
2026-06-08T23:22:37.7947841Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-08T23:22:37.7948137Z               "line": 44
2026-06-08T23:22:37.7948432Z             },
2026-06-08T23:22:37.7948716Z             {
2026-06-08T23:22:37.7949134Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-08T23:22:37.7949439Z               "line": 171
2026-06-08T23:22:37.7949721Z             },
2026-06-08T23:22:37.7950011Z             {
2026-06-08T23:22:37.7950436Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-08T23:22:37.7950737Z               "line": 376
2026-06-08T23:22:37.7951023Z             }
2026-06-08T23:22:37.7951299Z           ]
2026-06-08T23:22:37.7951588Z         },
2026-06-08T23:22:37.7951870Z         "int": {
2026-06-08T23:22:37.7952184Z           "complete": true,
2026-06-08T23:22:37.7952499Z           "evidence": [
2026-06-08T23:22:37.7952781Z             {
2026-06-08T23:22:37.7953181Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-08T23:22:37.7953467Z               "line": 573
2026-06-08T23:22:37.7953748Z             },
2026-06-08T23:22:37.7954029Z             {
2026-06-08T23:22:37.7954441Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-08T23:22:37.7954746Z               "line": 790
2026-06-08T23:22:37.7955023Z             }
2026-06-08T23:22:37.7955309Z           ]
2026-06-08T23:22:37.7955586Z         },
2026-06-08T23:22:37.7955878Z         "unit": {
2026-06-08T23:22:37.7956187Z           "complete": true,
2026-06-08T23:22:37.7956493Z           "evidence": [
2026-06-08T23:22:37.7956777Z             {
2026-06-08T23:22:37.7957285Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-08T23:22:37.7957590Z               "line": 236
2026-06-08T23:22:37.7957876Z             },
2026-06-08T23:22:37.7958162Z             {
2026-06-08T23:22:37.7958595Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-08T23:22:37.7958906Z               "line": 349
2026-06-08T23:22:37.7959191Z             },
2026-06-08T23:22:37.7959476Z             {
2026-06-08T23:22:37.7959894Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-08T23:22:37.7960199Z               "line": 194
2026-06-08T23:22:37.7960490Z             },
2026-06-08T23:22:37.7960767Z             {
2026-06-08T23:22:37.7961196Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-08T23:22:37.7961501Z               "line": 216
2026-06-08T23:22:37.7961787Z             },
2026-06-08T23:22:37.7962068Z             {
2026-06-08T23:22:37.7962491Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-08T23:22:37.7962797Z               "line": 230
2026-06-08T23:22:37.7963088Z             },
2026-06-08T23:22:37.7963369Z             {
2026-06-08T23:22:37.7963784Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-08T23:22:37.7966738Z               "line": 242
2026-06-08T23:22:37.7967147Z             },
2026-06-08T23:22:37.7967441Z             {
2026-06-08T23:22:37.7967878Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-08T23:22:37.7968164Z               "line": 256
2026-06-08T23:22:37.7968441Z             },
2026-06-08T23:22:37.7968870Z             {
2026-06-08T23:22:37.7969295Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-08T23:22:37.7969658Z               "line": 270
2026-06-08T23:22:37.7969942Z             },
2026-06-08T23:22:37.7970231Z             {
2026-06-08T23:22:37.7970650Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-08T23:22:37.7970960Z               "line": 277
2026-06-08T23:22:37.7971242Z             },
2026-06-08T23:22:37.7971523Z             {
2026-06-08T23:22:37.7971947Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-08T23:22:37.7972243Z               "line": 295
2026-06-08T23:22:37.7972539Z             },
2026-06-08T23:22:37.7972834Z             {
2026-06-08T23:22:37.7973253Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-08T23:22:37.7973549Z               "line": 967
2026-06-08T23:22:37.7973834Z             },
2026-06-08T23:22:37.7974126Z             {
2026-06-08T23:22:37.7974544Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-08T23:22:37.7974854Z               "line": 1050
2026-06-08T23:22:37.7975141Z             },
2026-06-08T23:22:37.7975421Z             {
2026-06-08T23:22:37.7975838Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-08T23:22:37.7976143Z               "line": 1120
2026-06-08T23:22:37.7976430Z             },
2026-06-08T23:22:37.7976711Z             {
2026-06-08T23:22:37.7977221Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-08T23:22:37.7977536Z               "line": 1181
2026-06-08T23:22:37.7977815Z             },
2026-06-08T23:22:37.7978100Z             {
2026-06-08T23:22:37.7978529Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-08T23:22:37.7978830Z               "line": 1237
2026-06-08T23:22:37.7979120Z             },
2026-06-08T23:22:37.7979401Z             {
2026-06-08T23:22:37.7979817Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-08T23:22:37.7980113Z               "line": 1456
2026-06-08T23:22:37.7980387Z             }
2026-06-08T23:22:37.7980662Z           ]
2026-06-08T23:22:37.7980939Z         }
2026-06-08T23:22:37.7981211Z       }
2026-06-08T23:22:37.7981482Z     },
2026-06-08T23:22:37.7981759Z     {
2026-06-08T23:22:37.7982070Z       "id": "REQ-PAIR-2",
2026-06-08T23:22:37.7982526Z       "title": "Local trust store with TOFU + warn-on-change",
2026-06-08T23:22:37.7982846Z       "requiredStages": [],
2026-06-08T23:22:37.7983133Z       "stages": {
2026-06-08T23:22:37.7983418Z         "doc": {
2026-06-08T23:22:37.7983728Z           "complete": false,
2026-06-08T23:22:37.7984037Z           "evidence": []
2026-06-08T23:22:37.7984324Z         },
2026-06-08T23:22:37.7984614Z         "impl": {
2026-06-08T23:22:37.7984924Z           "complete": false,
2026-06-08T23:22:37.7985224Z           "evidence": []
2026-06-08T23:22:37.7985515Z         },
2026-06-08T23:22:37.7985800Z         "int": {
2026-06-08T23:22:37.7986117Z           "complete": false,
2026-06-08T23:22:37.7986431Z           "evidence": []
2026-06-08T23:22:37.7986718Z         },
2026-06-08T23:22:37.7987075Z         "unit": {
2026-06-08T23:22:37.7987404Z           "complete": false,
2026-06-08T23:22:37.7987705Z           "evidence": []
2026-06-08T23:22:37.7987991Z         }
2026-06-08T23:22:37.7988267Z       }
2026-06-08T23:22:37.7988547Z     },
2026-06-08T23:22:37.7988828Z     {
2026-06-08T23:22:37.7989133Z       "id": "REQ-PAIR-3",
2026-06-08T23:22:37.7989608Z       "title": "Fetch current pairing code from any paired node",
2026-06-08T23:22:37.7989919Z       "requiredStages": [
2026-06-08T23:22:37.7990205Z         "impl",
2026-06-08T23:22:37.7990491Z         "unit"
2026-06-08T23:22:37.7990900Z       ],
2026-06-08T23:22:37.7991194Z       "stages": {
2026-06-08T23:22:37.7991475Z         "doc": {
2026-06-08T23:22:37.7991785Z           "complete": false,
2026-06-08T23:22:37.7992081Z           "evidence": []
2026-06-08T23:22:37.7992362Z         },
2026-06-08T23:22:37.7992654Z         "impl": {
2026-06-08T23:22:37.7993049Z           "complete": true,
2026-06-08T23:22:37.7993359Z           "evidence": [
2026-06-08T23:22:37.7993626Z             {
2026-06-08T23:22:37.7993973Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.7994278Z               "line": 1904
2026-06-08T23:22:37.7994560Z             },
2026-06-08T23:22:37.7994835Z             {
2026-06-08T23:22:37.7995179Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.7995479Z               "line": 1973
2026-06-08T23:22:37.7995751Z             },
2026-06-08T23:22:37.7996017Z             {
2026-06-08T23:22:37.7996351Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.7996644Z               "line": 2209
2026-06-08T23:22:37.7996917Z             }
2026-06-08T23:22:37.7997269Z           ]
2026-06-08T23:22:37.7997550Z         },
2026-06-08T23:22:37.7997837Z         "int": {
2026-06-08T23:22:37.7998184Z           "complete": false,
2026-06-08T23:22:37.7998480Z           "evidence": []
2026-06-08T23:22:37.7998763Z         },
2026-06-08T23:22:37.7999051Z         "unit": {
2026-06-08T23:22:37.7999358Z           "complete": true,
2026-06-08T23:22:37.7999659Z           "evidence": [
2026-06-08T23:22:37.7999940Z             {
2026-06-08T23:22:37.8000289Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8000584Z               "line": 6248
2026-06-08T23:22:37.8000875Z             },
2026-06-08T23:22:37.8001156Z             {
2026-06-08T23:22:37.8001498Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8001801Z               "line": 6449
2026-06-08T23:22:37.8002077Z             },
2026-06-08T23:22:37.8002360Z             {
2026-06-08T23:22:37.8002698Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8003003Z               "line": 6877
2026-06-08T23:22:37.8003280Z             },
2026-06-08T23:22:37.8003562Z             {
2026-06-08T23:22:37.8003904Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8004201Z               "line": 6896
2026-06-08T23:22:37.8004495Z             },
2026-06-08T23:22:37.8004771Z             {
2026-06-08T23:22:37.8005181Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8005492Z               "line": 6920
2026-06-08T23:22:37.8005773Z             },
2026-06-08T23:22:37.8006044Z             {
2026-06-08T23:22:37.8006379Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8006674Z               "line": 6939
2026-06-08T23:22:37.8007045Z             },
2026-06-08T23:22:37.8007333Z             {
2026-06-08T23:22:37.8007691Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8007992Z               "line": 6952
2026-06-08T23:22:37.8008277Z             },
2026-06-08T23:22:37.8008568Z             {
2026-06-08T23:22:37.8008916Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8009222Z               "line": 6961
2026-06-08T23:22:37.8009516Z             }
2026-06-08T23:22:37.8009809Z           ]
2026-06-08T23:22:37.8010090Z         }
2026-06-08T23:22:37.8010377Z       }
2026-06-08T23:22:37.8010662Z     },
2026-06-08T23:22:37.8010945Z     {
2026-06-08T23:22:37.8011255Z       "id": "REQ-PAIR-4",
2026-06-08T23:22:37.8011626Z       "title": "Subnet naming on first pairing",
2026-06-08T23:22:37.8011941Z       "requiredStages": [
2026-06-08T23:22:37.8012225Z         "impl",
2026-06-08T23:22:37.8012515Z         "unit"
2026-06-08T23:22:37.8012791Z       ],
2026-06-08T23:22:37.8013091Z       "stages": {
2026-06-08T23:22:37.8013376Z         "doc": {
2026-06-08T23:22:37.8013687Z           "complete": false,
2026-06-08T23:22:37.8013992Z           "evidence": []
2026-06-08T23:22:37.8014273Z         },
2026-06-08T23:22:37.8014559Z         "impl": {
2026-06-08T23:22:37.8014869Z           "complete": true,
2026-06-08T23:22:37.8015273Z           "evidence": [
2026-06-08T23:22:37.8015560Z             {
2026-06-08T23:22:37.8015946Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-08T23:22:37.8016246Z               "line": 154
2026-06-08T23:22:37.8016533Z             }
2026-06-08T23:22:37.8017109Z           ]
2026-06-08T23:22:37.8017390Z         },
2026-06-08T23:22:37.8017680Z         "int": {
2026-06-08T23:22:37.8017989Z           "complete": false,
2026-06-08T23:22:37.8018289Z           "evidence": []
2026-06-08T23:22:37.8018571Z         },
2026-06-08T23:22:37.8018852Z         "unit": {
2026-06-08T23:22:37.8019162Z           "complete": true,
2026-06-08T23:22:37.8019452Z           "evidence": [
2026-06-08T23:22:37.8019748Z             {
2026-06-08T23:22:37.8020171Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-08T23:22:37.8020474Z               "line": 1293
2026-06-08T23:22:37.8020755Z             }
2026-06-08T23:22:37.8021036Z           ]
2026-06-08T23:22:37.8021332Z         }
2026-06-08T23:22:37.8021614Z       }
2026-06-08T23:22:37.8021890Z     },
2026-06-08T23:22:37.8022172Z     {
2026-06-08T23:22:37.8022482Z       "id": "REQ-PAIR-5",
2026-06-08T23:22:37.8023461Z       "title": "Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing",
2026-06-08T23:22:37.8023784Z       "requiredStages": [
2026-06-08T23:22:37.8024071Z         "impl",
2026-06-08T23:22:37.8024358Z         "unit",
2026-06-08T23:22:37.8024649Z         "int"
2026-06-08T23:22:37.8024930Z       ],
2026-06-08T23:22:37.8025220Z       "stages": {
2026-06-08T23:22:37.8025505Z         "doc": {
2026-06-08T23:22:37.8025815Z           "complete": false,
2026-06-08T23:22:37.8026115Z           "evidence": []
2026-06-08T23:22:37.8026397Z         },
2026-06-08T23:22:37.8026688Z         "impl": {
2026-06-08T23:22:37.8027050Z           "complete": true,
2026-06-08T23:22:37.8027355Z           "evidence": [
2026-06-08T23:22:37.8027650Z             {
2026-06-08T23:22:37.8028078Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-08T23:22:37.8028381Z               "line": 44
2026-06-08T23:22:37.8028663Z             },
2026-06-08T23:22:37.8028949Z             {
2026-06-08T23:22:37.8029373Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-08T23:22:37.8029674Z               "line": 96
2026-06-08T23:22:37.8029941Z             },
2026-06-08T23:22:37.8030208Z             {
2026-06-08T23:22:37.8030626Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-08T23:22:37.8030920Z               "line": 107
2026-06-08T23:22:37.8031201Z             },
2026-06-08T23:22:37.8031473Z             {
2026-06-08T23:22:37.8031883Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-08T23:22:37.8032184Z               "line": 124
2026-06-08T23:22:37.8032469Z             },
2026-06-08T23:22:37.8032755Z             {
2026-06-08T23:22:37.8033174Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-08T23:22:37.8033476Z               "line": 155
2026-06-08T23:22:37.8033758Z             },
2026-06-08T23:22:37.8034036Z             {
2026-06-08T23:22:37.8034444Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-08T23:22:37.8034745Z               "line": 195
2026-06-08T23:22:37.8035031Z             },
2026-06-08T23:22:37.8035318Z             {
2026-06-08T23:22:37.8035737Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-08T23:22:37.8036036Z               "line": 251
2026-06-08T23:22:37.8036323Z             },
2026-06-08T23:22:37.8036610Z             {
2026-06-08T23:22:37.8037134Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-08T23:22:37.8037449Z               "line": 33
2026-06-08T23:22:37.8037740Z             },
2026-06-08T23:22:37.8038030Z             {
2026-06-08T23:22:37.8038493Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-08T23:22:37.8038791Z               "line": 45
2026-06-08T23:22:37.8039185Z             },
2026-06-08T23:22:37.8039472Z             {
2026-06-08T23:22:37.8039933Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-08T23:22:37.8040229Z               "line": 59
2026-06-08T23:22:37.8040515Z             },
2026-06-08T23:22:37.8040806Z             {
2026-06-08T23:22:37.8041320Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-08T23:22:37.8041624Z               "line": 376
2026-06-08T23:22:37.8041904Z             }
2026-06-08T23:22:37.8042195Z           ]
2026-06-08T23:22:37.8042476Z         },
2026-06-08T23:22:37.8042762Z         "int": {
2026-06-08T23:22:37.8043073Z           "complete": true,
2026-06-08T23:22:37.8043363Z           "evidence": [
2026-06-08T23:22:37.8043640Z             {
2026-06-08T23:22:37.8044037Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-08T23:22:37.8044338Z               "line": 790
2026-06-08T23:22:37.8044624Z             },
2026-06-08T23:22:37.8044910Z             {
2026-06-08T23:22:37.8045334Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-08T23:22:37.8045635Z               "line": 342
2026-06-08T23:22:37.8045920Z             }
2026-06-08T23:22:37.8046202Z           ]
2026-06-08T23:22:37.8046484Z         },
2026-06-08T23:22:37.8046765Z         "unit": {
2026-06-08T23:22:37.8047170Z           "complete": true,
2026-06-08T23:22:37.8047470Z           "evidence": [
2026-06-08T23:22:37.8047756Z             {
2026-06-08T23:22:37.8048180Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-08T23:22:37.8048475Z               "line": 293
2026-06-08T23:22:37.8048771Z             },
2026-06-08T23:22:37.8049049Z             {
2026-06-08T23:22:37.8049463Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-08T23:22:37.8049764Z               "line": 304
2026-06-08T23:22:37.8050052Z             },
2026-06-08T23:22:37.8050336Z             {
2026-06-08T23:22:37.8050756Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-08T23:22:37.8051061Z               "line": 406
2026-06-08T23:22:37.8051352Z             },
2026-06-08T23:22:37.8051633Z             {
2026-06-08T23:22:37.8052092Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-08T23:22:37.8052388Z               "line": 72
2026-06-08T23:22:37.8052674Z             },
2026-06-08T23:22:37.8052960Z             {
2026-06-08T23:22:37.8053419Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-08T23:22:37.8053714Z               "line": 82
2026-06-08T23:22:37.8054000Z             },
2026-06-08T23:22:37.8054280Z             {
2026-06-08T23:22:37.8054741Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-08T23:22:37.8055041Z               "line": 100
2026-06-08T23:22:37.8055323Z             },
2026-06-08T23:22:37.8055613Z             {
2026-06-08T23:22:37.8056071Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-08T23:22:37.8056376Z               "line": 110
2026-06-08T23:22:37.8056668Z             },
2026-06-08T23:22:37.8057030Z             {
2026-06-08T23:22:37.8057500Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-08T23:22:37.8057801Z               "line": 125
2026-06-08T23:22:37.8058082Z             },
2026-06-08T23:22:37.8058373Z             {
2026-06-08T23:22:37.8058792Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-08T23:22:37.8059093Z               "line": 1043
2026-06-08T23:22:37.8059378Z             },
2026-06-08T23:22:37.8059665Z             {
2026-06-08T23:22:37.8060090Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-08T23:22:37.8060395Z               "line": 1109
2026-06-08T23:22:37.8060682Z             },
2026-06-08T23:22:37.8060964Z             {
2026-06-08T23:22:37.8061379Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-08T23:22:37.8061688Z               "line": 1356
2026-06-08T23:22:37.8061993Z             }
2026-06-08T23:22:37.8062288Z           ]
2026-06-08T23:22:37.8062686Z         }
2026-06-08T23:22:37.8062986Z       }
2026-06-08T23:22:37.8063268Z     },
2026-06-08T23:22:37.8063549Z     {
2026-06-08T23:22:37.8063864Z       "id": "REQ-PAIR-6",
2026-06-08T23:22:37.8064700Z       "title": "Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)",
2026-06-08T23:22:37.8065105Z       "requiredStages": [
2026-06-08T23:22:37.8065383Z         "impl",
2026-06-08T23:22:37.8065678Z         "unit"
2026-06-08T23:22:37.8065950Z       ],
2026-06-08T23:22:37.8066241Z       "stages": {
2026-06-08T23:22:37.8066522Z         "doc": {
2026-06-08T23:22:37.8066822Z           "complete": false,
2026-06-08T23:22:37.8067190Z           "evidence": []
2026-06-08T23:22:37.8067471Z         },
2026-06-08T23:22:37.8067774Z         "impl": {
2026-06-08T23:22:37.8068074Z           "complete": true,
2026-06-08T23:22:37.8068366Z           "evidence": [
2026-06-08T23:22:37.8068633Z             {
2026-06-08T23:22:37.8068971Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8069267Z               "line": 1973
2026-06-08T23:22:37.8069548Z             },
2026-06-08T23:22:37.8069830Z             {
2026-06-08T23:22:37.8070169Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8070467Z               "line": 2209
2026-06-08T23:22:37.8070742Z             },
2026-06-08T23:22:37.8071028Z             {
2026-06-08T23:22:37.8071391Z               "path": "crates/spt/src/elevation.rs",
2026-06-08T23:22:37.8071687Z               "line": 18
2026-06-08T23:22:37.8072007Z             },
2026-06-08T23:22:37.8072287Z             {
2026-06-08T23:22:37.8072646Z               "path": "crates/spt/src/elevation.rs",
2026-06-08T23:22:37.8072944Z               "line": 49
2026-06-08T23:22:37.8073256Z             },
2026-06-08T23:22:37.8073542Z             {
2026-06-08T23:22:37.8073895Z               "path": "crates/spt/src/elevation.rs",
2026-06-08T23:22:37.8074195Z               "line": 163
2026-06-08T23:22:37.8074476Z             }
2026-06-08T23:22:37.8074762Z           ]
2026-06-08T23:22:37.8075039Z         },
2026-06-08T23:22:37.8075321Z         "int": {
2026-06-08T23:22:37.8075633Z           "complete": false,
2026-06-08T23:22:37.8075924Z           "evidence": []
2026-06-08T23:22:37.8076205Z         },
2026-06-08T23:22:37.8076481Z         "unit": {
2026-06-08T23:22:37.8076791Z           "complete": true,
2026-06-08T23:22:37.8077164Z           "evidence": [
2026-06-08T23:22:37.8077450Z             {
2026-06-08T23:22:37.8077793Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8078094Z               "line": 6974
2026-06-08T23:22:37.8078387Z             },
2026-06-08T23:22:37.8078663Z             {
2026-06-08T23:22:37.8079007Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8079302Z               "line": 6991
2026-06-08T23:22:37.8079579Z             },
2026-06-08T23:22:37.8079860Z             {
2026-06-08T23:22:37.8080233Z               "path": "crates/spt/src/elevation.rs",
2026-06-08T23:22:37.8080533Z               "line": 228
2026-06-08T23:22:37.8080809Z             },
2026-06-08T23:22:37.8081083Z             {
2026-06-08T23:22:37.8081445Z               "path": "crates/spt/src/elevation.rs",
2026-06-08T23:22:37.8081745Z               "line": 237
2026-06-08T23:22:37.8082022Z             }
2026-06-08T23:22:37.8082299Z           ]
2026-06-08T23:22:37.8082581Z         }
2026-06-08T23:22:37.8082862Z       }
2026-06-08T23:22:37.8083133Z     },
2026-06-08T23:22:37.8083403Z     {
2026-06-08T23:22:37.8083702Z       "id": "REQ-PAIR-7",
2026-06-08T23:22:37.8084203Z       "title": "Subnet icon (inline image metadata, GUI-only consumer)",
2026-06-08T23:22:37.8084513Z       "requiredStages": [],
2026-06-08T23:22:37.8084795Z       "stages": {
2026-06-08T23:22:37.8085080Z         "doc": {
2026-06-08T23:22:37.8085390Z           "complete": false,
2026-06-08T23:22:37.8085690Z           "evidence": []
2026-06-08T23:22:37.8085970Z         },
2026-06-08T23:22:37.8086263Z         "impl": {
2026-06-08T23:22:37.8086564Z           "complete": false,
2026-06-08T23:22:37.8087080Z           "evidence": []
2026-06-08T23:22:37.8087366Z         },
2026-06-08T23:22:37.8087652Z         "int": {
2026-06-08T23:22:37.8087957Z           "complete": false,
2026-06-08T23:22:37.8088262Z           "evidence": []
2026-06-08T23:22:37.8088548Z         },
2026-06-08T23:22:37.8088837Z         "unit": {
2026-06-08T23:22:37.8089253Z           "complete": false,
2026-06-08T23:22:37.8089552Z           "evidence": []
2026-06-08T23:22:37.8089877Z         }
2026-06-08T23:22:37.8090148Z       }
2026-06-08T23:22:37.8090439Z     },
2026-06-08T23:22:37.8090711Z     {
2026-06-08T23:22:37.8091016Z       "id": "REQ-PAIR-8",
2026-06-08T23:22:37.8094872Z       "title": "NTP TOTP offset: the pairing ceremony queries NTP at ceremony time (both sides) and applies the derived offset to the TOTP calculation in-process only; system-clock fallback when NTP is unreachable (offline LAN pairing unaffected — NTP failure never blocks a pairing that succeeds today); never sets the OS clock; no background sync loop (M8 decision 18; field trigger: enlyzeam clock >1 min off exceeds the ±1 window)",
2026-06-08T23:22:37.8095215Z       "requiredStages": [
2026-06-08T23:22:37.8095502Z         "impl",
2026-06-08T23:22:37.8095788Z         "unit"
2026-06-08T23:22:37.8096070Z       ],
2026-06-08T23:22:37.8096356Z       "stages": {
2026-06-08T23:22:37.8096683Z         "doc": {
2026-06-08T23:22:37.8097082Z           "complete": false,
2026-06-08T23:22:37.8097425Z           "evidence": []
2026-06-08T23:22:37.8097716Z         },
2026-06-08T23:22:37.8098011Z         "impl": {
2026-06-08T23:22:37.8098312Z           "complete": true,
2026-06-08T23:22:37.8098613Z           "evidence": [
2026-06-08T23:22:37.8098894Z             {
2026-06-08T23:22:37.8099303Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-08T23:22:37.8099603Z               "line": 577
2026-06-08T23:22:37.8099895Z             },
2026-06-08T23:22:37.8100176Z             {
2026-06-08T23:22:37.8100594Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-08T23:22:37.8100923Z               "line": 22
2026-06-08T23:22:37.8101201Z             },
2026-06-08T23:22:37.8101487Z             {
2026-06-08T23:22:37.8101901Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-08T23:22:37.8102204Z               "line": 76
2026-06-08T23:22:37.8102494Z             },
2026-06-08T23:22:37.8102781Z             {
2026-06-08T23:22:37.8103195Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-08T23:22:37.8103496Z               "line": 127
2026-06-08T23:22:37.8103776Z             }
2026-06-08T23:22:37.8104054Z           ]
2026-06-08T23:22:37.8104341Z         },
2026-06-08T23:22:37.8104634Z         "int": {
2026-06-08T23:22:37.8104941Z           "complete": false,
2026-06-08T23:22:37.8105247Z           "evidence": []
2026-06-08T23:22:37.8105523Z         },
2026-06-08T23:22:37.8105809Z         "unit": {
2026-06-08T23:22:37.8106105Z           "complete": true,
2026-06-08T23:22:37.8106400Z           "evidence": [
2026-06-08T23:22:37.8106686Z             {
2026-06-08T23:22:37.8107176Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-08T23:22:37.8107475Z               "line": 183
2026-06-08T23:22:37.8107760Z             },
2026-06-08T23:22:37.8108046Z             {
2026-06-08T23:22:37.8108443Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-08T23:22:37.8108748Z               "line": 195
2026-06-08T23:22:37.8109029Z             },
2026-06-08T23:22:37.8109306Z             {
2026-06-08T23:22:37.8109712Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-08T23:22:37.8109991Z               "line": 211
2026-06-08T23:22:37.8110273Z             },
2026-06-08T23:22:37.8110545Z             {
2026-06-08T23:22:37.8110949Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-08T23:22:37.8111241Z               "line": 227
2026-06-08T23:22:37.8111512Z             }
2026-06-08T23:22:37.8111794Z           ]
2026-06-08T23:22:37.8112062Z         }
2026-06-08T23:22:37.8112451Z       }
2026-06-08T23:22:37.8112727Z     },
2026-06-08T23:22:37.8113007Z     {
2026-06-08T23:22:37.8113317Z       "id": "REQ-PRES-1",
2026-06-08T23:22:37.8117390Z       "title": "Presence resolution: the presence datum (last_active_node, last_active_endpoint, ts) gossiped subnet-wide via the agent-interaction heartbeat (rides registry distribution, visibility-gated) + one first-class most-recently-active resolution API consumed by notif first-fire, update-consent delivery, consent escalation, and shell wake resolution (M5 scope decision 1: resolution only — the PresenceChannel endpoint stays deferred)",
2026-06-08T23:22:37.8117836Z       "requiredStages": [
2026-06-08T23:22:37.8118145Z         "impl",
2026-06-08T23:22:37.8118446Z         "unit",
2026-06-08T23:22:37.8118803Z         "int"
2026-06-08T23:22:37.8119127Z       ],
2026-06-08T23:22:37.8119437Z       "stages": {
2026-06-08T23:22:37.8119729Z         "doc": {
2026-06-08T23:22:37.8120123Z           "complete": true,
2026-06-08T23:22:37.8120471Z           "evidence": [
2026-06-08T23:22:37.8120762Z             {
2026-06-08T23:22:37.8121123Z               "path": "docs/DEFERRED.md",
2026-06-08T23:22:37.8121514Z               "line": 11
2026-06-08T23:22:37.8121815Z             }
2026-06-08T23:22:37.8122101Z           ]
2026-06-08T23:22:37.8122387Z         },
2026-06-08T23:22:37.8122702Z         "impl": {
2026-06-08T23:22:37.8123002Z           "complete": true,
2026-06-08T23:22:37.8123305Z           "evidence": [
2026-06-08T23:22:37.8123591Z             {
2026-06-08T23:22:37.8124019Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-08T23:22:37.8124325Z               "line": 515
2026-06-08T23:22:37.8124621Z             },
2026-06-08T23:22:37.8124969Z             {
2026-06-08T23:22:37.8125384Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-08T23:22:37.8125687Z               "line": 567
2026-06-08T23:22:37.8125971Z             },
2026-06-08T23:22:37.8126262Z             {
2026-06-08T23:22:37.8126686Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-08T23:22:37.8127083Z               "line": 181
2026-06-08T23:22:37.8127374Z             },
2026-06-08T23:22:37.8127655Z             {
2026-06-08T23:22:37.8128056Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-08T23:22:37.8128359Z               "line": 207
2026-06-08T23:22:37.8128705Z             },
2026-06-08T23:22:37.8128997Z             {
2026-06-08T23:22:37.8129401Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-08T23:22:37.8129711Z               "line": 28
2026-06-08T23:22:37.8130002Z             },
2026-06-08T23:22:37.8130289Z             {
2026-06-08T23:22:37.8130697Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-08T23:22:37.8131007Z               "line": 105
2026-06-08T23:22:37.8131298Z             },
2026-06-08T23:22:37.8131584Z             {
2026-06-08T23:22:37.8131984Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-08T23:22:37.8132280Z               "line": 161
2026-06-08T23:22:37.8132575Z             },
2026-06-08T23:22:37.8132862Z             {
2026-06-08T23:22:37.8133334Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-08T23:22:37.8133647Z               "line": 180
2026-06-08T23:22:37.8133936Z             },
2026-06-08T23:22:37.8134227Z             {
2026-06-08T23:22:37.8134660Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.8134965Z               "line": 399
2026-06-08T23:22:37.8135247Z             },
2026-06-08T23:22:37.8135534Z             {
2026-06-08T23:22:37.8135939Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-08T23:22:37.8136228Z               "line": 289
2026-06-08T23:22:37.8136517Z             },
2026-06-08T23:22:37.8136793Z             {
2026-06-08T23:22:37.8137286Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-08T23:22:37.8137605Z               "line": 336
2026-06-08T23:22:37.8137896Z             },
2026-06-08T23:22:37.8138181Z             {
2026-06-08T23:22:37.8138696Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-08T23:22:37.8139003Z               "line": 362
2026-06-08T23:22:37.8139280Z             },
2026-06-08T23:22:37.8139566Z             {
2026-06-08T23:22:37.8139966Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.8140366Z               "line": 100
2026-06-08T23:22:37.8140653Z             }
2026-06-08T23:22:37.8140938Z           ]
2026-06-08T23:22:37.8141225Z         },
2026-06-08T23:22:37.8141507Z         "int": {
2026-06-08T23:22:37.8141825Z           "complete": true,
2026-06-08T23:22:37.8142126Z           "evidence": [
2026-06-08T23:22:37.8142412Z             {
2026-06-08T23:22:37.8142835Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-08T23:22:37.8143131Z               "line": 556
2026-06-08T23:22:37.8143427Z             },
2026-06-08T23:22:37.8143709Z             {
2026-06-08T23:22:37.8144122Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-08T23:22:37.8144435Z               "line": 675
2026-06-08T23:22:37.8144721Z             },
2026-06-08T23:22:37.8145007Z             {
2026-06-08T23:22:37.8145407Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-08T23:22:37.8145717Z               "line": 1068
2026-06-08T23:22:37.8145998Z             }
2026-06-08T23:22:37.8146290Z           ]
2026-06-08T23:22:37.8146572Z         },
2026-06-08T23:22:37.8146860Z         "unit": {
2026-06-08T23:22:37.8147278Z           "complete": true,
2026-06-08T23:22:37.8147578Z           "evidence": [
2026-06-08T23:22:37.8147869Z             {
2026-06-08T23:22:37.8148250Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-08T23:22:37.8148560Z               "line": 601
2026-06-08T23:22:37.8148847Z             },
2026-06-08T23:22:37.8149129Z             {
2026-06-08T23:22:37.8149535Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-08T23:22:37.8149840Z               "line": 237
2026-06-08T23:22:37.8150155Z             },
2026-06-08T23:22:37.8150441Z             {
2026-06-08T23:22:37.8150855Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-08T23:22:37.8151160Z               "line": 268
2026-06-08T23:22:37.8151452Z             },
2026-06-08T23:22:37.8151743Z             {
2026-06-08T23:22:37.8152142Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-08T23:22:37.8152494Z               "line": 304
2026-06-08T23:22:37.8152781Z             },
2026-06-08T23:22:37.8153091Z             {
2026-06-08T23:22:37.8153495Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-08T23:22:37.8153791Z               "line": 335
2026-06-08T23:22:37.8154082Z             },
2026-06-08T23:22:37.8154363Z             {
2026-06-08T23:22:37.8154796Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.8155099Z               "line": 1135
2026-06-08T23:22:37.8155390Z             },
2026-06-08T23:22:37.8155676Z             {
2026-06-08T23:22:37.8156077Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.8156377Z               "line": 1112
2026-06-08T23:22:37.8156658Z             }
2026-06-08T23:22:37.8156939Z           ]
2026-06-08T23:22:37.8157297Z         }
2026-06-08T23:22:37.8157585Z       }
2026-06-08T23:22:37.8157867Z     },
2026-06-08T23:22:37.8158196Z     {
2026-06-08T23:22:37.8158515Z       "id": "REQ-REACH-1",
2026-06-08T23:22:37.8159021Z       "title": "Off-node remote-drive detection + file transfer",
2026-06-08T23:22:37.8159331Z       "requiredStages": [
2026-06-08T23:22:37.8159621Z         "impl",
2026-06-08T23:22:37.8159915Z         "unit",
2026-06-08T23:22:37.8160209Z         "int"
2026-06-08T23:22:37.8160476Z       ],
2026-06-08T23:22:37.8160767Z       "stages": {
2026-06-08T23:22:37.8161044Z         "doc": {
2026-06-08T23:22:37.8161358Z           "complete": false,
2026-06-08T23:22:37.8161654Z           "evidence": []
2026-06-08T23:22:37.8161941Z         },
2026-06-08T23:22:37.8162237Z         "impl": {
2026-06-08T23:22:37.8162542Z           "complete": true,
2026-06-08T23:22:37.8162960Z           "evidence": [
2026-06-08T23:22:37.8163241Z             {
2026-06-08T23:22:37.8163637Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-08T23:22:37.8163947Z               "line": 140
2026-06-08T23:22:37.8164233Z             },
2026-06-08T23:22:37.8164519Z             {
2026-06-08T23:22:37.8165010Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-08T23:22:37.8165314Z               "line": 76
2026-06-08T23:22:37.8165603Z             },
2026-06-08T23:22:37.8165889Z             {
2026-06-08T23:22:37.8166260Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-08T23:22:37.8166561Z               "line": 222
2026-06-08T23:22:37.8166857Z             },
2026-06-08T23:22:37.8167238Z             {
2026-06-08T23:22:37.8167615Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-08T23:22:37.8167914Z               "line": 422
2026-06-08T23:22:37.8168202Z             },
2026-06-08T23:22:37.8168488Z             {
2026-06-08T23:22:37.8168874Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-08T23:22:37.8169175Z               "line": 529
2026-06-08T23:22:37.8169461Z             },
2026-06-08T23:22:37.8169747Z             {
2026-06-08T23:22:37.8170124Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-08T23:22:37.8170424Z               "line": 39
2026-06-08T23:22:37.8170717Z             },
2026-06-08T23:22:37.8171008Z             {
2026-06-08T23:22:37.8171384Z               "path": "crates/spt-store/src/info.rs",
2026-06-08T23:22:37.8171684Z               "line": 229
2026-06-08T23:22:37.8171976Z             },
2026-06-08T23:22:37.8172261Z             {
2026-06-08T23:22:37.8172638Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-08T23:22:37.8172938Z               "line": 88
2026-06-08T23:22:37.8173220Z             },
2026-06-08T23:22:37.8173506Z             {
2026-06-08T23:22:37.8173878Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-08T23:22:37.8174178Z               "line": 98
2026-06-08T23:22:37.8174464Z             },
2026-06-08T23:22:37.8174746Z             {
2026-06-08T23:22:37.8175141Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-08T23:22:37.8175442Z               "line": 210
2026-06-08T23:22:37.8175723Z             }
2026-06-08T23:22:37.8175998Z           ]
2026-06-08T23:22:37.8176291Z         },
2026-06-08T23:22:37.8176572Z         "int": {
2026-06-08T23:22:37.8176887Z           "complete": true,
2026-06-08T23:22:37.8177284Z           "evidence": [
2026-06-08T23:22:37.8181376Z             {
2026-06-08T23:22:37.8181840Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-08T23:22:37.8182145Z               "line": 414
2026-06-08T23:22:37.8182427Z             },
2026-06-08T23:22:37.8182708Z             {
2026-06-08T23:22:37.8183118Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-08T23:22:37.8183414Z               "line": 513
2026-06-08T23:22:37.8183696Z             },
2026-06-08T23:22:37.8183975Z             {
2026-06-08T23:22:37.8184399Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-08T23:22:37.8184695Z               "line": 901
2026-06-08T23:22:37.8184977Z             },
2026-06-08T23:22:37.8185248Z             {
2026-06-08T23:22:37.8185640Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-08T23:22:37.8185936Z               "line": 1196
2026-06-08T23:22:37.8186207Z             }
2026-06-08T23:22:37.8186481Z           ]
2026-06-08T23:22:37.8186756Z         },
2026-06-08T23:22:37.8187122Z         "unit": {
2026-06-08T23:22:37.8187432Z           "complete": true,
2026-06-08T23:22:37.8187724Z           "evidence": [
2026-06-08T23:22:37.8188000Z             {
2026-06-08T23:22:37.8188373Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-08T23:22:37.8188678Z               "line": 639
2026-06-08T23:22:37.8188954Z             },
2026-06-08T23:22:37.8189242Z             {
2026-06-08T23:22:37.8189618Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-08T23:22:37.8190052Z               "line": 660
2026-06-08T23:22:37.8190324Z             },
2026-06-08T23:22:37.8190610Z             {
2026-06-08T23:22:37.8191011Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-08T23:22:37.8191302Z               "line": 391
2026-06-08T23:22:37.8191634Z             },
2026-06-08T23:22:37.8192189Z             {
2026-06-08T23:22:37.8192610Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-08T23:22:37.8192905Z               "line": 93
2026-06-08T23:22:37.8193191Z             },
2026-06-08T23:22:37.8193477Z             {
2026-06-08T23:22:37.8193868Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-08T23:22:37.8194169Z               "line": 224
2026-06-08T23:22:37.8194449Z             },
2026-06-08T23:22:37.8194730Z             {
2026-06-08T23:22:37.8195111Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-08T23:22:37.8195402Z               "line": 96
2026-06-08T23:22:37.8195693Z             },
2026-06-08T23:22:37.8195970Z             {
2026-06-08T23:22:37.8196361Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-08T23:22:37.8196666Z               "line": 146
2026-06-08T23:22:37.8197046Z             },
2026-06-08T23:22:37.8197330Z             {
2026-06-08T23:22:37.8197702Z               "path": "crates/spt-store/src/info.rs",
2026-06-08T23:22:37.8198026Z               "line": 502
2026-06-08T23:22:37.8198303Z             },
2026-06-08T23:22:37.8198584Z             {
2026-06-08T23:22:37.8198957Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-08T23:22:37.8199247Z               "line": 118
2026-06-08T23:22:37.8199514Z             },
2026-06-08T23:22:37.8199779Z             {
2026-06-08T23:22:37.8200159Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-08T23:22:37.8200451Z               "line": 148
2026-06-08T23:22:37.8200727Z             },
2026-06-08T23:22:37.8201009Z             {
2026-06-08T23:22:37.8201395Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-08T23:22:37.8201690Z               "line": 602
2026-06-08T23:22:37.8201967Z             }
2026-06-08T23:22:37.8202247Z           ]
2026-06-08T23:22:37.8202521Z         }
2026-06-08T23:22:37.8202802Z       }
2026-06-08T23:22:37.8203084Z     },
2026-06-08T23:22:37.8203356Z     {
2026-06-08T23:22:37.8203661Z       "id": "REQ-REACH-2",
2026-06-08T23:22:37.8204163Z       "title": "Remote command execution (deferred, consent-gated)",
2026-06-08T23:22:37.8204482Z       "requiredStages": [],
2026-06-08T23:22:37.8204763Z       "stages": {
2026-06-08T23:22:37.8205057Z         "doc": {
2026-06-08T23:22:37.8205376Z           "complete": false,
2026-06-08T23:22:37.8205681Z           "evidence": []
2026-06-08T23:22:37.8205962Z         },
2026-06-08T23:22:37.8206245Z         "impl": {
2026-06-08T23:22:37.8206554Z           "complete": false,
2026-06-08T23:22:37.8206849Z           "evidence": []
2026-06-08T23:22:37.8207206Z         },
2026-06-08T23:22:37.8207535Z         "int": {
2026-06-08T23:22:37.8207843Z           "complete": false,
2026-06-08T23:22:37.8208148Z           "evidence": []
2026-06-08T23:22:37.8208430Z         },
2026-06-08T23:22:37.8208720Z         "unit": {
2026-06-08T23:22:37.8209026Z           "complete": false,
2026-06-08T23:22:37.8209332Z           "evidence": []
2026-06-08T23:22:37.8209613Z         }
2026-06-08T23:22:37.8209885Z       }
2026-06-08T23:22:37.8210168Z     },
2026-06-08T23:22:37.8210443Z     {
2026-06-08T23:22:37.8210743Z       "id": "REQ-REL-1",
2026-06-08T23:22:37.8212016Z       "title": "spt-releases publish-target repo: README public face, licensing split, Pages docs at the permanent lapse-proof canonical URL (ADR-0014)",
2026-06-08T23:22:37.8212331Z       "requiredStages": [
2026-06-08T23:22:37.8212621Z         "doc",
2026-06-08T23:22:37.8212906Z         "impl"
2026-06-08T23:22:37.8213182Z       ],
2026-06-08T23:22:37.8213478Z       "stages": {
2026-06-08T23:22:37.8213769Z         "doc": {
2026-06-08T23:22:37.8214069Z           "complete": true,
2026-06-08T23:22:37.8214369Z           "evidence": [
2026-06-08T23:22:37.8214775Z             {
2026-06-08T23:22:37.8215465Z               "path": "docs/adr/0014-publish-target-repo-and-lapse-proof-canonical-url.md",
2026-06-08T23:22:37.8215766Z               "line": 3
2026-06-08T23:22:37.8216047Z             }
2026-06-08T23:22:37.8216338Z           ]
2026-06-08T23:22:37.8216619Z         },
2026-06-08T23:22:37.8217104Z         "impl": {
2026-06-08T23:22:37.8217428Z           "complete": true,
2026-06-08T23:22:37.8217720Z           "evidence": [
2026-06-08T23:22:37.8218002Z             {
2026-06-08T23:22:37.8218408Z               "path": ".github/workflows/docs-publish.yml",
2026-06-08T23:22:37.8218709Z               "line": 11
2026-06-08T23:22:37.8218985Z             },
2026-06-08T23:22:37.8219272Z             {
2026-06-08T23:22:37.8219629Z               "path": "crates/xtask/src/main.rs",
2026-06-08T23:22:37.8219920Z               "line": 265
2026-06-08T23:22:37.8220202Z             }
2026-06-08T23:22:37.8220478Z           ]
2026-06-08T23:22:37.8220757Z         },
2026-06-08T23:22:37.8221046Z         "int": {
2026-06-08T23:22:37.8221351Z           "complete": false,
2026-06-08T23:22:37.8221646Z           "evidence": []
2026-06-08T23:22:37.8221924Z         },
2026-06-08T23:22:37.8222215Z         "unit": {
2026-06-08T23:22:37.8222515Z           "complete": false,
2026-06-08T23:22:37.8222815Z           "evidence": []
2026-06-08T23:22:37.8223093Z         }
2026-06-08T23:22:37.8223367Z       }
2026-06-08T23:22:37.8223641Z     },
2026-06-08T23:22:37.8223913Z     {
2026-06-08T23:22:37.8224213Z       "id": "REQ-REL-2",
2026-06-08T23:22:37.8225768Z       "title": "Release asset set consumable by the self-updater: platform binaries, SHA256SUMS, SignedRelease metadata, manifest schema, mock-adapter zip; tag-triggered cross-repo pipeline",
2026-06-08T23:22:37.8226073Z       "requiredStages": [
2026-06-08T23:22:37.8226359Z         "impl",
2026-06-08T23:22:37.8226636Z         "int"
2026-06-08T23:22:37.8226917Z       ],
2026-06-08T23:22:37.8227288Z       "stages": {
2026-06-08T23:22:37.8227580Z         "doc": {
2026-06-08T23:22:37.8227885Z           "complete": true,
2026-06-08T23:22:37.8228181Z           "evidence": [
2026-06-08T23:22:37.8228458Z             {
2026-06-08T23:22:37.8228827Z               "path": "docs/RELEASE-RUNBOOK.md",
2026-06-08T23:22:37.8229116Z               "line": 6
2026-06-08T23:22:37.8229397Z             }
2026-06-08T23:22:37.8229678Z           ]
2026-06-08T23:22:37.8229960Z         },
2026-06-08T23:22:37.8230265Z         "impl": {
2026-06-08T23:22:37.8230566Z           "complete": true,
2026-06-08T23:22:37.8230861Z           "evidence": [
2026-06-08T23:22:37.8231143Z             {
2026-06-08T23:22:37.8231516Z               "path": ".github/workflows/release.yml",
2026-06-08T23:22:37.8231807Z               "line": 16
2026-06-08T23:22:37.8232088Z             },
2026-06-08T23:22:37.8232370Z             {
2026-06-08T23:22:37.8232727Z               "path": "crates/xtask/src/main.rs",
2026-06-08T23:22:37.8233033Z               "line": 352
2026-06-08T23:22:37.8233315Z             },
2026-06-08T23:22:37.8233601Z             {
2026-06-08T23:22:37.8233951Z               "path": "crates/xtask/src/main.rs",
2026-06-08T23:22:37.8234254Z               "line": 424
2026-06-08T23:22:37.8234541Z             },
2026-06-08T23:22:37.8234826Z             {
2026-06-08T23:22:37.8235170Z               "path": "crates/xtask/src/main.rs",
2026-06-08T23:22:37.8235480Z               "line": 484
2026-06-08T23:22:37.8235756Z             },
2026-06-08T23:22:37.8236037Z             {
2026-06-08T23:22:37.8236386Z               "path": "crates/xtask/src/main.rs",
2026-06-08T23:22:37.8236685Z               "line": 591
2026-06-08T23:22:37.8237047Z             }
2026-06-08T23:22:37.8237324Z           ]
2026-06-08T23:22:37.8237600Z         },
2026-06-08T23:22:37.8237882Z         "int": {
2026-06-08T23:22:37.8238192Z           "complete": true,
2026-06-08T23:22:37.8238492Z           "evidence": [
2026-06-08T23:22:37.8238770Z             {
2026-06-08T23:22:37.8239192Z               "path": "crates/spt/tests/release_verify_e2e.rs",
2026-06-08T23:22:37.8239594Z               "line": 13
2026-06-08T23:22:37.8239881Z             }
2026-06-08T23:22:37.8240153Z           ]
2026-06-08T23:22:37.8240430Z         },
2026-06-08T23:22:37.8240706Z         "unit": {
2026-06-08T23:22:37.8241007Z           "complete": false,
2026-06-08T23:22:37.8241308Z           "evidence": []
2026-06-08T23:22:37.8241698Z         }
2026-06-08T23:22:37.8241968Z       }
2026-06-08T23:22:37.8242234Z     },
2026-06-08T23:22:37.8242519Z     {
2026-06-08T23:22:37.8242815Z       "id": "REQ-REL-3",
2026-06-08T23:22:37.8244274Z       "title": "Two-key release-signing trust anchor: primary + offline never-used recovery, both pubkeys embedded in the binary's trusted set, manual local signing (ADR-0015)",
2026-06-08T23:22:37.8244591Z       "requiredStages": [
2026-06-08T23:22:37.8244877Z         "impl",
2026-06-08T23:22:37.8245164Z         "unit"
2026-06-08T23:22:37.8245440Z       ],
2026-06-08T23:22:37.8245735Z       "stages": {
2026-06-08T23:22:37.8246016Z         "doc": {
2026-06-08T23:22:37.8246336Z           "complete": false,
2026-06-08T23:22:37.8246636Z           "evidence": []
2026-06-08T23:22:37.8246922Z         },
2026-06-08T23:22:37.8247316Z         "impl": {
2026-06-08T23:22:37.8247631Z           "complete": true,
2026-06-08T23:22:37.8247931Z           "evidence": [
2026-06-08T23:22:37.8248218Z             {
2026-06-08T23:22:37.8248614Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.8248909Z               "line": 224
2026-06-08T23:22:37.8249191Z             },
2026-06-08T23:22:37.8249476Z             {
2026-06-08T23:22:37.8249909Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.8250208Z               "line": 276
2026-06-08T23:22:37.8250484Z             },
2026-06-08T23:22:37.8250770Z             {
2026-06-08T23:22:37.8251132Z               "path": "crates/xtask/src/main.rs",
2026-06-08T23:22:37.8251424Z               "line": 329
2026-06-08T23:22:37.8251710Z             },
2026-06-08T23:22:37.8251981Z             {
2026-06-08T23:22:37.8252334Z               "path": "crates/xtask/src/main.rs",
2026-06-08T23:22:37.8252627Z               "line": 353
2026-06-08T23:22:37.8252904Z             },
2026-06-08T23:22:37.8253180Z             {
2026-06-08T23:22:37.8253514Z               "path": "crates/xtask/src/main.rs",
2026-06-08T23:22:37.8253815Z               "line": 392
2026-06-08T23:22:37.8254087Z             }
2026-06-08T23:22:37.8254372Z           ]
2026-06-08T23:22:37.8254639Z         },
2026-06-08T23:22:37.8254929Z         "int": {
2026-06-08T23:22:37.8255241Z           "complete": false,
2026-06-08T23:22:37.8255532Z           "evidence": []
2026-06-08T23:22:37.8255819Z         },
2026-06-08T23:22:37.8256100Z         "unit": {
2026-06-08T23:22:37.8256414Z           "complete": true,
2026-06-08T23:22:37.8256711Z           "evidence": [
2026-06-08T23:22:37.8257063Z             {
2026-06-08T23:22:37.8257457Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.8257753Z               "line": 977
2026-06-08T23:22:37.8258045Z             },
2026-06-08T23:22:37.8258325Z             {
2026-06-08T23:22:37.8258712Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.8259012Z               "line": 1036
2026-06-08T23:22:37.8259298Z             }
2026-06-08T23:22:37.8259575Z           ]
2026-06-08T23:22:37.8259857Z         }
2026-06-08T23:22:37.8260139Z       }
2026-06-08T23:22:37.8260412Z     },
2026-06-08T23:22:37.8260696Z     {
2026-06-08T23:22:37.8261025Z       "id": "REQ-SEAM-ACTIVITY",
2026-06-08T23:22:37.8261616Z       "title": "Activity/idle reported via api sentinels, not PTY quiescence",
2026-06-08T23:22:37.8261931Z       "requiredStages": [
2026-06-08T23:22:37.8262212Z         "impl",
2026-06-08T23:22:37.8262494Z         "unit"
2026-06-08T23:22:37.8262772Z       ],
2026-06-08T23:22:37.8263065Z       "stages": {
2026-06-08T23:22:37.8263349Z         "doc": {
2026-06-08T23:22:37.8263668Z           "complete": false,
2026-06-08T23:22:37.8263969Z           "evidence": []
2026-06-08T23:22:37.8264361Z         },
2026-06-08T23:22:37.8264647Z         "impl": {
2026-06-08T23:22:37.8264952Z           "complete": true,
2026-06-08T23:22:37.8265248Z           "evidence": [
2026-06-08T23:22:37.8265517Z             {
2026-06-08T23:22:37.8265892Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-08T23:22:37.8266302Z               "line": 18
2026-06-08T23:22:37.8266575Z             },
2026-06-08T23:22:37.8266855Z             {
2026-06-08T23:22:37.8267327Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-08T23:22:37.8267618Z               "line": 35
2026-06-08T23:22:37.8267886Z             },
2026-06-08T23:22:37.8268173Z             {
2026-06-08T23:22:37.8268548Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-08T23:22:37.8268839Z               "line": 72
2026-06-08T23:22:37.8269125Z             }
2026-06-08T23:22:37.8269410Z           ]
2026-06-08T23:22:37.8269696Z         },
2026-06-08T23:22:37.8269977Z         "int": {
2026-06-08T23:22:37.8270292Z           "complete": false,
2026-06-08T23:22:37.8270597Z           "evidence": []
2026-06-08T23:22:37.8270878Z         },
2026-06-08T23:22:37.8271162Z         "unit": {
2026-06-08T23:22:37.8271467Z           "complete": true,
2026-06-08T23:22:37.8271762Z           "evidence": [
2026-06-08T23:22:37.8272049Z             {
2026-06-08T23:22:37.8272439Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-08T23:22:37.8272744Z               "line": 214
2026-06-08T23:22:37.8273027Z             },
2026-06-08T23:22:37.8273308Z             {
2026-06-08T23:22:37.8273682Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-08T23:22:37.8273981Z               "line": 231
2026-06-08T23:22:37.8274258Z             },
2026-06-08T23:22:37.8274539Z             {
2026-06-08T23:22:37.8274921Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-08T23:22:37.8275212Z               "line": 240
2026-06-08T23:22:37.8275493Z             }
2026-06-08T23:22:37.8275774Z           ]
2026-06-08T23:22:37.8276058Z         }
2026-06-08T23:22:37.8276333Z       }
2026-06-08T23:22:37.8276610Z     },
2026-06-08T23:22:37.8276886Z     {
2026-06-08T23:22:37.8277310Z       "id": "REQ-SEAM-CAPABILITY",
2026-06-08T23:22:37.8277793Z       "title": "Hostable endpoint-types capability declaration",
2026-06-08T23:22:37.8278108Z       "requiredStages": [
2026-06-08T23:22:37.8278404Z         "impl",
2026-06-08T23:22:37.8278685Z         "unit"
2026-06-08T23:22:37.8278959Z       ],
2026-06-08T23:22:37.8279250Z       "stages": {
2026-06-08T23:22:37.8279536Z         "doc": {
2026-06-08T23:22:37.8279841Z           "complete": false,
2026-06-08T23:22:37.8280132Z           "evidence": []
2026-06-08T23:22:37.8280409Z         },
2026-06-08T23:22:37.8280695Z         "impl": {
2026-06-08T23:22:37.8281006Z           "complete": true,
2026-06-08T23:22:37.8281302Z           "evidence": [
2026-06-08T23:22:37.8281576Z             {
2026-06-08T23:22:37.8281970Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-08T23:22:37.8282271Z               "line": 404
2026-06-08T23:22:37.8282552Z             }
2026-06-08T23:22:37.8282833Z           ]
2026-06-08T23:22:37.8283113Z         },
2026-06-08T23:22:37.8283400Z         "int": {
2026-06-08T23:22:37.8283710Z           "complete": false,
2026-06-08T23:22:37.8284014Z           "evidence": []
2026-06-08T23:22:37.8284303Z         },
2026-06-08T23:22:37.8284594Z         "unit": {
2026-06-08T23:22:37.8284894Z           "complete": true,
2026-06-08T23:22:37.8285195Z           "evidence": [
2026-06-08T23:22:37.8285491Z             {
2026-06-08T23:22:37.8285880Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-08T23:22:37.8286181Z               "line": 641
2026-06-08T23:22:37.8286464Z             }
2026-06-08T23:22:37.8286752Z           ]
2026-06-08T23:22:37.8287108Z         }
2026-06-08T23:22:37.8287395Z       }
2026-06-08T23:22:37.8287680Z     },
2026-06-08T23:22:37.8287951Z     {
2026-06-08T23:22:37.8288276Z       "id": "REQ-SEAM-HISTORY",
2026-06-08T23:22:37.8288862Z       "title": "History subsystem (fetcher / locate-normalize / native store)",
2026-06-08T23:22:37.8289298Z       "requiredStages": [
2026-06-08T23:22:37.8289586Z         "impl",
2026-06-08T23:22:37.8289862Z         "unit",
2026-06-08T23:22:37.8290134Z         "int"
2026-06-08T23:22:37.8290406Z       ],
2026-06-08T23:22:37.8290783Z       "stages": {
2026-06-08T23:22:37.8291064Z         "doc": {
2026-06-08T23:22:37.8291379Z           "complete": false,
2026-06-08T23:22:37.8291665Z           "evidence": []
2026-06-08T23:22:37.8291947Z         },
2026-06-08T23:22:37.8292240Z         "impl": {
2026-06-08T23:22:37.8292540Z           "complete": true,
2026-06-08T23:22:37.8292845Z           "evidence": [
2026-06-08T23:22:37.8293127Z             {
2026-06-08T23:22:37.8293493Z               "path": "crates/spt-live/src/echo.rs",
2026-06-08T23:22:37.8293789Z               "line": 24
2026-06-08T23:22:37.8294071Z             },
2026-06-08T23:22:37.8294361Z             {
2026-06-08T23:22:37.8294736Z               "path": "crates/spt-live/src/history.rs",
2026-06-08T23:22:37.8295044Z               "line": 22
2026-06-08T23:22:37.8295320Z             }
2026-06-08T23:22:37.8295611Z           ]
2026-06-08T23:22:37.8295887Z         },
2026-06-08T23:22:37.8296174Z         "int": {
2026-06-08T23:22:37.8296484Z           "complete": true,
2026-06-08T23:22:37.8296784Z           "evidence": [
2026-06-08T23:22:37.8297155Z             {
2026-06-08T23:22:37.8297567Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-08T23:22:37.8297868Z               "line": 256
2026-06-08T23:22:37.8298149Z             }
2026-06-08T23:22:37.8298440Z           ]
2026-06-08T23:22:37.8298722Z         },
2026-06-08T23:22:37.8299017Z         "unit": {
2026-06-08T23:22:37.8299322Z           "complete": true,
2026-06-08T23:22:37.8299618Z           "evidence": [
2026-06-08T23:22:37.8299905Z             {
2026-06-08T23:22:37.8300266Z               "path": "crates/spt-live/src/echo.rs",
2026-06-08T23:22:37.8300566Z               "line": 167
2026-06-08T23:22:37.8300867Z             },
2026-06-08T23:22:37.8301144Z             {
2026-06-08T23:22:37.8301511Z               "path": "crates/spt-live/src/echo.rs",
2026-06-08T23:22:37.8301807Z               "line": 196
2026-06-08T23:22:37.8302083Z             },
2026-06-08T23:22:37.8302365Z             {
2026-06-08T23:22:37.8302739Z               "path": "crates/spt-live/src/echo.rs",
2026-06-08T23:22:37.8303028Z               "line": 216
2026-06-08T23:22:37.8303314Z             },
2026-06-08T23:22:37.8303595Z             {
2026-06-08T23:22:37.8303968Z               "path": "crates/spt-live/src/history.rs",
2026-06-08T23:22:37.8304273Z               "line": 199
2026-06-08T23:22:37.8304554Z             },
2026-06-08T23:22:37.8304826Z             {
2026-06-08T23:22:37.8305205Z               "path": "crates/spt-live/src/history.rs",
2026-06-08T23:22:37.8305503Z               "line": 219
2026-06-08T23:22:37.8305785Z             },
2026-06-08T23:22:37.8306067Z             {
2026-06-08T23:22:37.8306438Z               "path": "crates/spt-live/src/history.rs",
2026-06-08T23:22:37.8306744Z               "line": 244
2026-06-08T23:22:37.8307082Z             },
2026-06-08T23:22:37.8307354Z             {
2026-06-08T23:22:37.8307730Z               "path": "crates/spt-live/src/history.rs",
2026-06-08T23:22:37.8308041Z               "line": 269
2026-06-08T23:22:37.8308328Z             },
2026-06-08T23:22:37.8308610Z             {
2026-06-08T23:22:37.8308986Z               "path": "crates/spt-live/src/history.rs",
2026-06-08T23:22:37.8309282Z               "line": 290
2026-06-08T23:22:37.8309568Z             },
2026-06-08T23:22:37.8309850Z             {
2026-06-08T23:22:37.8310230Z               "path": "crates/spt-live/src/history.rs",
2026-06-08T23:22:37.8310526Z               "line": 317
2026-06-08T23:22:37.8310807Z             }
2026-06-08T23:22:37.8311094Z           ]
2026-06-08T23:22:37.8311380Z         }
2026-06-08T23:22:37.8311661Z       }
2026-06-08T23:22:37.8311941Z     },
2026-06-08T23:22:37.8312218Z     {
2026-06-08T23:22:37.8312643Z       "id": "REQ-SEAM-INJECT",
2026-06-08T23:22:37.8313166Z       "title": "inject-input methods configurable per activity-state",
2026-06-08T23:22:37.8313483Z       "requiredStages": [
2026-06-08T23:22:37.8313769Z         "impl",
2026-06-08T23:22:37.8314051Z         "unit"
2026-06-08T23:22:37.8314322Z       ],
2026-06-08T23:22:37.8314718Z       "stages": {
2026-06-08T23:22:37.8315004Z         "doc": {
2026-06-08T23:22:37.8315318Z           "complete": false,
2026-06-08T23:22:37.8315619Z           "evidence": []
2026-06-08T23:22:37.8315899Z         },
2026-06-08T23:22:37.8316189Z         "impl": {
2026-06-08T23:22:37.8316494Z           "complete": true,
2026-06-08T23:22:37.8316794Z           "evidence": [
2026-06-08T23:22:37.8317143Z             {
2026-06-08T23:22:37.8317552Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-08T23:22:37.8317852Z               "line": 19
2026-06-08T23:22:37.8318134Z             },
2026-06-08T23:22:37.8318419Z             {
2026-06-08T23:22:37.8318804Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-08T23:22:37.8319108Z               "line": 111
2026-06-08T23:22:37.8319385Z             }
2026-06-08T23:22:37.8319671Z           ]
2026-06-08T23:22:37.8319962Z         },
2026-06-08T23:22:37.8320242Z         "int": {
2026-06-08T23:22:37.8320552Z           "complete": false,
2026-06-08T23:22:37.8320858Z           "evidence": []
2026-06-08T23:22:37.8321143Z         },
2026-06-08T23:22:37.8321429Z         "unit": {
2026-06-08T23:22:37.8321739Z           "complete": true,
2026-06-08T23:22:37.8322040Z           "evidence": [
2026-06-08T23:22:37.8322316Z             {
2026-06-08T23:22:37.8322697Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-08T23:22:37.8322993Z               "line": 320
2026-06-08T23:22:37.8323275Z             },
2026-06-08T23:22:37.8323566Z             {
2026-06-08T23:22:37.8323945Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-08T23:22:37.8324248Z               "line": 340
2026-06-08T23:22:37.8324535Z             }
2026-06-08T23:22:37.8324826Z           ]
2026-06-08T23:22:37.8325108Z         }
2026-06-08T23:22:37.8325388Z       }
2026-06-08T23:22:37.8325664Z     },
2026-06-08T23:22:37.8325955Z     {
2026-06-08T23:22:37.8326288Z       "id": "REQ-SEAM-POSTSPAWN",
2026-06-08T23:22:37.8326715Z       "title": "post-spawn / api bind seam with boot nonce",
2026-06-08T23:22:37.8327120Z       "requiredStages": [
2026-06-08T23:22:37.8327412Z         "impl",
2026-06-08T23:22:37.8327698Z         "unit"
2026-06-08T23:22:37.8327979Z       ],
2026-06-08T23:22:37.8328269Z       "stages": {
2026-06-08T23:22:37.8328556Z         "doc": {
2026-06-08T23:22:37.8328859Z           "complete": false,
2026-06-08T23:22:37.8329162Z           "evidence": []
2026-06-08T23:22:37.8329439Z         },
2026-06-08T23:22:37.8329726Z         "impl": {
2026-06-08T23:22:37.8330026Z           "complete": true,
2026-06-08T23:22:37.8330321Z           "evidence": [
2026-06-08T23:22:37.8330608Z             {
2026-06-08T23:22:37.8330984Z               "path": "crates/spt/src/api/startup.rs",
2026-06-08T23:22:37.8331290Z               "line": 18
2026-06-08T23:22:37.8331571Z             },
2026-06-08T23:22:37.8331856Z             {
2026-06-08T23:22:37.8332228Z               "path": "crates/spt/src/api/startup.rs",
2026-06-08T23:22:37.8332528Z               "line": 309
2026-06-08T23:22:37.8332820Z             }
2026-06-08T23:22:37.8333105Z           ]
2026-06-08T23:22:37.8333391Z         },
2026-06-08T23:22:37.8333677Z         "int": {
2026-06-08T23:22:37.8333987Z           "complete": false,
2026-06-08T23:22:37.8334286Z           "evidence": []
2026-06-08T23:22:37.8334570Z         },
2026-06-08T23:22:37.8334866Z         "unit": {
2026-06-08T23:22:37.8335167Z           "complete": true,
2026-06-08T23:22:37.8335467Z           "evidence": [
2026-06-08T23:22:37.8335748Z             {
2026-06-08T23:22:37.8336124Z               "path": "crates/spt/src/api/startup.rs",
2026-06-08T23:22:37.8336420Z               "line": 559
2026-06-08T23:22:37.8336703Z             },
2026-06-08T23:22:37.8337175Z             {
2026-06-08T23:22:37.8337576Z               "path": "crates/spt/src/api/startup.rs",
2026-06-08T23:22:37.8337880Z               "line": 569
2026-06-08T23:22:37.8338157Z             }
2026-06-08T23:22:37.8338447Z           ]
2026-06-08T23:22:37.8338720Z         }
2026-06-08T23:22:37.8339101Z       }
2026-06-08T23:22:37.8339367Z     },
2026-06-08T23:22:37.8339638Z     {
2026-06-08T23:22:37.8339953Z       "id": "REQ-SEAM-PSYCHE",
2026-06-08T23:22:37.8340404Z       "title": "spawn-psyche seam (fresh + resume templates)",
2026-06-08T23:22:37.8340714Z       "requiredStages": [
2026-06-08T23:22:37.8340995Z         "impl",
2026-06-08T23:22:37.8341277Z         "unit",
2026-06-08T23:22:37.8341572Z         "int"
2026-06-08T23:22:37.8341845Z       ],
2026-06-08T23:22:37.8342132Z       "stages": {
2026-06-08T23:22:37.8342411Z         "doc": {
2026-06-08T23:22:37.8342716Z           "complete": false,
2026-06-08T23:22:37.8343017Z           "evidence": []
2026-06-08T23:22:37.8343302Z         },
2026-06-08T23:22:37.8343593Z         "impl": {
2026-06-08T23:22:37.8343880Z           "complete": true,
2026-06-08T23:22:37.8344165Z           "evidence": [
2026-06-08T23:22:37.8344433Z             {
2026-06-08T23:22:37.8344809Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-08T23:22:37.8345102Z               "line": 19
2026-06-08T23:22:37.8345383Z             },
2026-06-08T23:22:37.8345665Z             {
2026-06-08T23:22:37.8346013Z               "path": "crates/spt/src/api/live.rs",
2026-06-08T23:22:37.8346308Z               "line": 12
2026-06-08T23:22:37.8346585Z             },
2026-06-08T23:22:37.8346867Z             {
2026-06-08T23:22:37.8347309Z               "path": "crates/spt/src/api/startup.rs",
2026-06-08T23:22:37.8347608Z               "line": 209
2026-06-08T23:22:37.8347894Z             }
2026-06-08T23:22:37.8348174Z           ]
2026-06-08T23:22:37.8348460Z         },
2026-06-08T23:22:37.8348746Z         "int": {
2026-06-08T23:22:37.8349056Z           "complete": true,
2026-06-08T23:22:37.8349356Z           "evidence": [
2026-06-08T23:22:37.8349642Z             {
2026-06-08T23:22:37.8350041Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-08T23:22:37.8350340Z               "line": 255
2026-06-08T23:22:37.8350626Z             }
2026-06-08T23:22:37.8350907Z           ]
2026-06-08T23:22:37.8351203Z         },
2026-06-08T23:22:37.8351489Z         "unit": {
2026-06-08T23:22:37.8351804Z           "complete": true,
2026-06-08T23:22:37.8352104Z           "evidence": [
2026-06-08T23:22:37.8352387Z             {
2026-06-08T23:22:37.8352767Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-08T23:22:37.8353067Z               "line": 161
2026-06-08T23:22:37.8353353Z             },
2026-06-08T23:22:37.8353635Z             {
2026-06-08T23:22:37.8354015Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-08T23:22:37.8354321Z               "line": 168
2026-06-08T23:22:37.8354603Z             },
2026-06-08T23:22:37.8354889Z             {
2026-06-08T23:22:37.8355266Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-08T23:22:37.8355569Z               "line": 191
2026-06-08T23:22:37.8355853Z             },
2026-06-08T23:22:37.8356134Z             {
2026-06-08T23:22:37.8356512Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-08T23:22:37.8356817Z               "line": 106
2026-06-08T23:22:37.8357183Z             },
2026-06-08T23:22:37.8357461Z             {
2026-06-08T23:22:37.8357837Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-08T23:22:37.8358135Z               "line": 137
2026-06-08T23:22:37.8358424Z             },
2026-06-08T23:22:37.8358715Z             {
2026-06-08T23:22:37.8359083Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-08T23:22:37.8359383Z               "line": 161
2026-06-08T23:22:37.8359670Z             }
2026-06-08T23:22:37.8359955Z           ]
2026-06-08T23:22:37.8360231Z         }
2026-06-08T23:22:37.8360511Z       }
2026-06-08T23:22:37.8360796Z     },
2026-06-08T23:22:37.8361195Z     {
2026-06-08T23:22:37.8361520Z       "id": "REQ-SEAM-RESUME",
2026-06-08T23:22:37.8362107Z       "title": "resume-session seam (fresh-with-preload / continue-existing)",
2026-06-08T23:22:37.8362426Z       "requiredStages": [
2026-06-08T23:22:37.8362711Z         "impl",
2026-06-08T23:22:37.8363008Z         "unit"
2026-06-08T23:22:37.8363393Z       ],
2026-06-08T23:22:37.8363679Z       "stages": {
2026-06-08T23:22:37.8363976Z         "doc": {
2026-06-08T23:22:37.8364281Z           "complete": false,
2026-06-08T23:22:37.8364580Z           "evidence": []
2026-06-08T23:22:37.8364863Z         },
2026-06-08T23:22:37.8365154Z         "impl": {
2026-06-08T23:22:37.8365468Z           "complete": true,
2026-06-08T23:22:37.8365769Z           "evidence": [
2026-06-08T23:22:37.8366062Z             {
2026-06-08T23:22:37.8366438Z               "path": "crates/spt-live/src/resume.rs",
2026-06-08T23:22:37.8366738Z               "line": 19
2026-06-08T23:22:37.8367109Z             }
2026-06-08T23:22:37.8367406Z           ]
2026-06-08T23:22:37.8367682Z         },
2026-06-08T23:22:37.8367968Z         "int": {
2026-06-08T23:22:37.8368283Z           "complete": false,
2026-06-08T23:22:37.8368571Z           "evidence": []
2026-06-08T23:22:37.8368841Z         },
2026-06-08T23:22:37.8369122Z         "unit": {
2026-06-08T23:22:37.8369432Z           "complete": true,
2026-06-08T23:22:37.8369733Z           "evidence": [
2026-06-08T23:22:37.8370005Z             {
2026-06-08T23:22:37.8370372Z               "path": "crates/spt-live/src/resume.rs",
2026-06-08T23:22:37.8370667Z               "line": 179
2026-06-08T23:22:37.8370954Z             },
2026-06-08T23:22:37.8371239Z             {
2026-06-08T23:22:37.8371619Z               "path": "crates/spt-live/src/resume.rs",
2026-06-08T23:22:37.8371924Z               "line": 201
2026-06-08T23:22:37.8372205Z             },
2026-06-08T23:22:37.8372501Z             {
2026-06-08T23:22:37.8372877Z               "path": "crates/spt-live/src/resume.rs",
2026-06-08T23:22:37.8373173Z               "line": 222
2026-06-08T23:22:37.8373464Z             }
2026-06-08T23:22:37.8373751Z           ]
2026-06-08T23:22:37.8374038Z         }
2026-06-08T23:22:37.8374320Z       }
2026-06-08T23:22:37.8374606Z     },
2026-06-08T23:22:37.8374883Z     {
2026-06-08T23:22:37.8375203Z       "id": "REQ-SEAM-SPAWN",
2026-06-08T23:22:37.8375537Z       "title": "spawn-session seam",
2026-06-08T23:22:37.8375851Z       "requiredStages": [
2026-06-08T23:22:37.8376141Z         "impl",
2026-06-08T23:22:37.8376424Z         "unit"
2026-06-08T23:22:37.8376708Z       ],
2026-06-08T23:22:37.8377069Z       "stages": {
2026-06-08T23:22:37.8377364Z         "doc": {
2026-06-08T23:22:37.8377674Z           "complete": false,
2026-06-08T23:22:37.8377980Z           "evidence": []
2026-06-08T23:22:37.8378266Z         },
2026-06-08T23:22:37.8378552Z         "impl": {
2026-06-08T23:22:37.8378863Z           "complete": true,
2026-06-08T23:22:37.8379160Z           "evidence": [
2026-06-08T23:22:37.8379449Z             {
2026-06-08T23:22:37.8379850Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-08T23:22:37.8380146Z               "line": 20
2026-06-08T23:22:37.8380431Z             }
2026-06-08T23:22:37.8380713Z           ]
2026-06-08T23:22:37.8381003Z         },
2026-06-08T23:22:37.8381280Z         "int": {
2026-06-08T23:22:37.8381580Z           "complete": false,
2026-06-08T23:22:37.8381873Z           "evidence": []
2026-06-08T23:22:37.8382155Z         },
2026-06-08T23:22:37.8382446Z         "unit": {
2026-06-08T23:22:37.8382746Z           "complete": true,
2026-06-08T23:22:37.8383042Z           "evidence": [
2026-06-08T23:22:37.8383323Z             {
2026-06-08T23:22:37.8383719Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-08T23:22:37.8384010Z               "line": 435
2026-06-08T23:22:37.8384296Z             },
2026-06-08T23:22:37.8384589Z             {
2026-06-08T23:22:37.8384991Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-08T23:22:37.8385296Z               "line": 442
2026-06-08T23:22:37.8385687Z             },
2026-06-08T23:22:37.8388883Z             {
2026-06-08T23:22:37.8389335Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-08T23:22:37.8389640Z               "line": 452
2026-06-08T23:22:37.8389928Z             },
2026-06-08T23:22:37.8390210Z             {
2026-06-08T23:22:37.8390764Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-08T23:22:37.8391059Z               "line": 458
2026-06-08T23:22:37.8391350Z             },
2026-06-08T23:22:37.8391630Z             {
2026-06-08T23:22:37.8392037Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-08T23:22:37.8392335Z               "line": 483
2026-06-08T23:22:37.8392619Z             },
2026-06-08T23:22:37.8392899Z             {
2026-06-08T23:22:37.8393302Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-08T23:22:37.8393597Z               "line": 520
2026-06-08T23:22:37.8393873Z             }
2026-06-08T23:22:37.8394154Z           ]
2026-06-08T23:22:37.8394435Z         }
2026-06-08T23:22:37.8394711Z       }
2026-06-08T23:22:37.8394988Z     },
2026-06-08T23:22:37.8395260Z     {
2026-06-08T23:22:37.8395570Z       "id": "REQ-SEAM-UPDATE",
2026-06-08T23:22:37.8396093Z       "title": "Adapter-update avenue (file-pull / delegated command)",
2026-06-08T23:22:37.8396403Z       "requiredStages": [
2026-06-08T23:22:37.8396695Z         "impl",
2026-06-08T23:22:37.8397067Z         "unit"
2026-06-08T23:22:37.8397353Z       ],
2026-06-08T23:22:37.8397638Z       "stages": {
2026-06-08T23:22:37.8397927Z         "doc": {
2026-06-08T23:22:37.8398237Z           "complete": false,
2026-06-08T23:22:37.8398542Z           "evidence": []
2026-06-08T23:22:37.8398828Z         },
2026-06-08T23:22:37.8399109Z         "impl": {
2026-06-08T23:22:37.8399410Z           "complete": true,
2026-06-08T23:22:37.8399706Z           "evidence": [
2026-06-08T23:22:37.8399988Z             {
2026-06-08T23:22:37.8400414Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-08T23:22:37.8400718Z               "line": 28
2026-06-08T23:22:37.8401004Z             },
2026-06-08T23:22:37.8401281Z             {
2026-06-08T23:22:37.8401714Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-08T23:22:37.8402001Z               "line": 83
2026-06-08T23:22:37.8402278Z             }
2026-06-08T23:22:37.8402559Z           ]
2026-06-08T23:22:37.8402842Z         },
2026-06-08T23:22:37.8403127Z         "int": {
2026-06-08T23:22:37.8403432Z           "complete": false,
2026-06-08T23:22:37.8403736Z           "evidence": []
2026-06-08T23:22:37.8404009Z         },
2026-06-08T23:22:37.8404295Z         "unit": {
2026-06-08T23:22:37.8404600Z           "complete": true,
2026-06-08T23:22:37.8404901Z           "evidence": [
2026-06-08T23:22:37.8405183Z             {
2026-06-08T23:22:37.8405605Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-08T23:22:37.8405906Z               "line": 285
2026-06-08T23:22:37.8406188Z             },
2026-06-08T23:22:37.8406473Z             {
2026-06-08T23:22:37.8406897Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-08T23:22:37.8407288Z               "line": 296
2026-06-08T23:22:37.8407570Z             }
2026-06-08T23:22:37.8407850Z           ]
2026-06-08T23:22:37.8408131Z         }
2026-06-08T23:22:37.8408416Z       }
2026-06-08T23:22:37.8408707Z     },
2026-06-08T23:22:37.8408984Z     {
2026-06-08T23:22:37.8409289Z       "id": "REQ-SEC-1",
2026-06-08T23:22:37.8410595Z       "title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants",
2026-06-08T23:22:37.8410913Z       "requiredStages": [
2026-06-08T23:22:37.8411206Z         "impl",
2026-06-08T23:22:37.8411487Z         "unit"
2026-06-08T23:22:37.8411768Z       ],
2026-06-08T23:22:37.8412059Z       "stages": {
2026-06-08T23:22:37.8412346Z         "doc": {
2026-06-08T23:22:37.8412656Z           "complete": false,
2026-06-08T23:22:37.8412951Z           "evidence": []
2026-06-08T23:22:37.8413341Z         },
2026-06-08T23:22:37.8413625Z         "impl": {
2026-06-08T23:22:37.8413935Z           "complete": true,
2026-06-08T23:22:37.8414231Z           "evidence": [
2026-06-08T23:22:37.8414516Z             {
2026-06-08T23:22:37.8414912Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-08T23:22:37.8415299Z               "line": 84
2026-06-08T23:22:37.8415579Z             },
2026-06-08T23:22:37.8415865Z             {
2026-06-08T23:22:37.8416260Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-08T23:22:37.8416561Z               "line": 114
2026-06-08T23:22:37.8416842Z             },
2026-06-08T23:22:37.8417214Z             {
2026-06-08T23:22:37.8417596Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-08T23:22:37.8417887Z               "line": 128
2026-06-08T23:22:37.8418168Z             },
2026-06-08T23:22:37.8418449Z             {
2026-06-08T23:22:37.8418824Z               "path": "crates/spt-store/src/access.rs",
2026-06-08T23:22:37.8419109Z               "line": 108
2026-06-08T23:22:37.8419390Z             },
2026-06-08T23:22:37.8419662Z             {
2026-06-08T23:22:37.8420033Z               "path": "crates/spt-store/src/access.rs",
2026-06-08T23:22:37.8420329Z               "line": 129
2026-06-08T23:22:37.8420606Z             },
2026-06-08T23:22:37.8420883Z             {
2026-06-08T23:22:37.8421254Z               "path": "crates/spt-store/src/access.rs",
2026-06-08T23:22:37.8421557Z               "line": 142
2026-06-08T23:22:37.8421834Z             },
2026-06-08T23:22:37.8422115Z             {
2026-06-08T23:22:37.8422482Z               "path": "crates/spt-store/src/access.rs",
2026-06-08T23:22:37.8422787Z               "line": 208
2026-06-08T23:22:37.8423064Z             },
2026-06-08T23:22:37.8423345Z             {
2026-06-08T23:22:37.8423713Z               "path": "crates/spt-store/src/access.rs",
2026-06-08T23:22:37.8424011Z               "line": 234
2026-06-08T23:22:37.8424290Z             },
2026-06-08T23:22:37.8424566Z             {
2026-06-08T23:22:37.8424919Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8425215Z               "line": 3401
2026-06-08T23:22:37.8425496Z             }
2026-06-08T23:22:37.8425783Z           ]
2026-06-08T23:22:37.8426059Z         },
2026-06-08T23:22:37.8426346Z         "int": {
2026-06-08T23:22:37.8426651Z           "complete": false,
2026-06-08T23:22:37.8427045Z           "evidence": []
2026-06-08T23:22:37.8427332Z         },
2026-06-08T23:22:37.8427613Z         "unit": {
2026-06-08T23:22:37.8427918Z           "complete": true,
2026-06-08T23:22:37.8428209Z           "evidence": [
2026-06-08T23:22:37.8428491Z             {
2026-06-08T23:22:37.8428882Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-08T23:22:37.8429192Z               "line": 140
2026-06-08T23:22:37.8429471Z             },
2026-06-08T23:22:37.8429760Z             {
2026-06-08T23:22:37.8430147Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-08T23:22:37.8430443Z               "line": 192
2026-06-08T23:22:37.8430733Z             },
2026-06-08T23:22:37.8431014Z             {
2026-06-08T23:22:37.8431396Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-08T23:22:37.8431697Z               "line": 233
2026-06-08T23:22:37.8431976Z             },
2026-06-08T23:22:37.8432259Z             {
2026-06-08T23:22:37.8432656Z               "path": "crates/spt-daemon/tests/access.rs",
2026-06-08T23:22:37.8432951Z               "line": 138
2026-06-08T23:22:37.8433232Z             },
2026-06-08T23:22:37.8433514Z             {
2026-06-08T23:22:37.8433896Z               "path": "crates/spt-store/src/access.rs",
2026-06-08T23:22:37.8434186Z               "line": 246
2026-06-08T23:22:37.8434475Z             },
2026-06-08T23:22:37.8434755Z             {
2026-06-08T23:22:37.8435136Z               "path": "crates/spt-store/src/access.rs",
2026-06-08T23:22:37.8435427Z               "line": 276
2026-06-08T23:22:37.8435723Z             },
2026-06-08T23:22:37.8436004Z             {
2026-06-08T23:22:37.8436386Z               "path": "crates/spt-store/src/access.rs",
2026-06-08T23:22:37.8436797Z               "line": 309
2026-06-08T23:22:37.8437164Z             },
2026-06-08T23:22:37.8437448Z             {
2026-06-08T23:22:37.8437826Z               "path": "crates/spt-store/src/access.rs",
2026-06-08T23:22:37.8438125Z               "line": 328
2026-06-08T23:22:37.8438516Z             },
2026-06-08T23:22:37.8438798Z             {
2026-06-08T23:22:37.8439174Z               "path": "crates/spt-store/src/access.rs",
2026-06-08T23:22:37.8439470Z               "line": 361
2026-06-08T23:22:37.8439752Z             },
2026-06-08T23:22:37.8440041Z             {
2026-06-08T23:22:37.8440420Z               "path": "crates/spt-store/src/access.rs",
2026-06-08T23:22:37.8440726Z               "line": 385
2026-06-08T23:22:37.8441007Z             },
2026-06-08T23:22:37.8441284Z             {
2026-06-08T23:22:37.8441627Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8441942Z               "line": 4966
2026-06-08T23:22:37.8442229Z             }
2026-06-08T23:22:37.8442502Z           ]
2026-06-08T23:22:37.8442786Z         }
2026-06-08T23:22:37.8443067Z       }
2026-06-08T23:22:37.8443350Z     },
2026-06-08T23:22:37.8443625Z     {
2026-06-08T23:22:37.8443931Z       "id": "REQ-SHELL-1",
2026-06-08T23:22:37.8446798Z       "title": "Shell hosting machinery: shell perch under the owner (type/owner/adapter_name/status/alias), broker-launched binary + api bind local-link handshake, the three channels (command durable, text+file durable + progress-queryable, sensory REST-only never spooled + dropped-unless-owner-live), owner exclusivity (CONTEXT Shell model)",
2026-06-08T23:22:37.8447203Z       "requiredStages": [
2026-06-08T23:22:37.8447494Z         "impl",
2026-06-08T23:22:37.8447776Z         "unit",
2026-06-08T23:22:37.8448057Z         "int"
2026-06-08T23:22:37.8448343Z       ],
2026-06-08T23:22:37.8448628Z       "stages": {
2026-06-08T23:22:37.8448909Z         "doc": {
2026-06-08T23:22:37.8449219Z           "complete": false,
2026-06-08T23:22:37.8449524Z           "evidence": []
2026-06-08T23:22:37.8449801Z         },
2026-06-08T23:22:37.8450091Z         "impl": {
2026-06-08T23:22:37.8450396Z           "complete": true,
2026-06-08T23:22:37.8450690Z           "evidence": [
2026-06-08T23:22:37.8450971Z             {
2026-06-08T23:22:37.8451367Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-08T23:22:37.8451676Z               "line": 94
2026-06-08T23:22:37.8451953Z             },
2026-06-08T23:22:37.8452235Z             {
2026-06-08T23:22:37.8452630Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-08T23:22:37.8452925Z               "line": 119
2026-06-08T23:22:37.8453220Z             },
2026-06-08T23:22:37.8453500Z             {
2026-06-08T23:22:37.8453900Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-08T23:22:37.8454195Z               "line": 27
2026-06-08T23:22:37.8454482Z             },
2026-06-08T23:22:37.8454759Z             {
2026-06-08T23:22:37.8455154Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-08T23:22:37.8455460Z               "line": 52
2026-06-08T23:22:37.8455744Z             },
2026-06-08T23:22:37.8456023Z             {
2026-06-08T23:22:37.8456419Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-08T23:22:37.8456715Z               "line": 132
2026-06-08T23:22:37.8457077Z             },
2026-06-08T23:22:37.8457363Z             {
2026-06-08T23:22:37.8457768Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-08T23:22:37.8458058Z               "line": 164
2026-06-08T23:22:37.8458341Z             },
2026-06-08T23:22:37.8458612Z             {
2026-06-08T23:22:37.8459003Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-08T23:22:37.8459298Z               "line": 22
2026-06-08T23:22:37.8459570Z             },
2026-06-08T23:22:37.8459857Z             {
2026-06-08T23:22:37.8460247Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-08T23:22:37.8460543Z               "line": 65
2026-06-08T23:22:37.8460947Z             },
2026-06-08T23:22:37.8461227Z             {
2026-06-08T23:22:37.8461626Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-08T23:22:37.8461912Z               "line": 76
2026-06-08T23:22:37.8462194Z             },
2026-06-08T23:22:37.8462466Z             {
2026-06-08T23:22:37.8462956Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-08T23:22:37.8463257Z               "line": 150
2026-06-08T23:22:37.8463528Z             },
2026-06-08T23:22:37.8463816Z             {
2026-06-08T23:22:37.8464212Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-08T23:22:37.8464508Z               "line": 209
2026-06-08T23:22:37.8464789Z             },
2026-06-08T23:22:37.8465071Z             {
2026-06-08T23:22:37.8465466Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-08T23:22:37.8465776Z               "line": 246
2026-06-08T23:22:37.8466057Z             },
2026-06-08T23:22:37.8466332Z             {
2026-06-08T23:22:37.8466736Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-08T23:22:37.8467107Z               "line": 267
2026-06-08T23:22:37.8467408Z             },
2026-06-08T23:22:37.8467690Z             {
2026-06-08T23:22:37.8468085Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-08T23:22:37.8468395Z               "line": 280
2026-06-08T23:22:37.8468671Z             },
2026-06-08T23:22:37.8468957Z             {
2026-06-08T23:22:37.8469328Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.8469633Z               "line": 197
2026-06-08T23:22:37.8469925Z             },
2026-06-08T23:22:37.8470201Z             {
2026-06-08T23:22:37.8470578Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.8470878Z               "line": 213
2026-06-08T23:22:37.8471164Z             },
2026-06-08T23:22:37.8471446Z             {
2026-06-08T23:22:37.8471848Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-08T23:22:37.8472144Z               "line": 41
2026-06-08T23:22:37.8472435Z             },
2026-06-08T23:22:37.8472716Z             {
2026-06-08T23:22:37.8473102Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-08T23:22:37.8473402Z               "line": 204
2026-06-08T23:22:37.8473679Z             },
2026-06-08T23:22:37.8473962Z             {
2026-06-08T23:22:37.8474335Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-08T23:22:37.8474625Z               "line": 156
2026-06-08T23:22:37.8474906Z             },
2026-06-08T23:22:37.8475177Z             {
2026-06-08T23:22:37.8475527Z               "path": "crates/spt/src/api/mod.rs",
2026-06-08T23:22:37.8475812Z               "line": 295
2026-06-08T23:22:37.8476093Z             },
2026-06-08T23:22:37.8476370Z             {
2026-06-08T23:22:37.8476726Z               "path": "crates/spt/src/api/mod.rs",
2026-06-08T23:22:37.8477100Z               "line": 345
2026-06-08T23:22:37.8477386Z             },
2026-06-08T23:22:37.8477672Z             {
2026-06-08T23:22:37.8478064Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-08T23:22:37.8478364Z               "line": 261
2026-06-08T23:22:37.8478645Z             },
2026-06-08T23:22:37.8478932Z             {
2026-06-08T23:22:37.8479279Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8479569Z               "line": 3899
2026-06-08T23:22:37.8479898Z             },
2026-06-08T23:22:37.8480175Z             {
2026-06-08T23:22:37.8480518Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8480828Z               "line": 4049
2026-06-08T23:22:37.8481109Z             },
2026-06-08T23:22:37.8481391Z             {
2026-06-08T23:22:37.8481734Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8482039Z               "line": 4086
2026-06-08T23:22:37.8482315Z             }
2026-06-08T23:22:37.8482595Z           ]
2026-06-08T23:22:37.8482876Z         },
2026-06-08T23:22:37.8483156Z         "int": {
2026-06-08T23:22:37.8483466Z           "complete": true,
2026-06-08T23:22:37.8483868Z           "evidence": [
2026-06-08T23:22:37.8484149Z             {
2026-06-08T23:22:37.8484559Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-08T23:22:37.8484858Z               "line": 705
2026-06-08T23:22:37.8485142Z             },
2026-06-08T23:22:37.8485418Z             {
2026-06-08T23:22:37.8485923Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-08T23:22:37.8486224Z               "line": 8
2026-06-08T23:22:37.8486510Z             },
2026-06-08T23:22:37.8486792Z             {
2026-06-08T23:22:37.8487286Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-08T23:22:37.8487603Z               "line": 49
2026-06-08T23:22:37.8487885Z             },
2026-06-08T23:22:37.8488166Z             {
2026-06-08T23:22:37.8488561Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-08T23:22:37.8488867Z               "line": 706
2026-06-08T23:22:37.8489163Z             },
2026-06-08T23:22:37.8489439Z             {
2026-06-08T23:22:37.8489840Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-08T23:22:37.8490134Z               "line": 1116
2026-06-08T23:22:37.8490416Z             },
2026-06-08T23:22:37.8490702Z             {
2026-06-08T23:22:37.8491106Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-08T23:22:37.8491407Z               "line": 17
2026-06-08T23:22:37.8491689Z             },
2026-06-08T23:22:37.8491975Z             {
2026-06-08T23:22:37.8492341Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-08T23:22:37.8492637Z               "line": 14
2026-06-08T23:22:37.8492917Z             }
2026-06-08T23:22:37.8493202Z           ]
2026-06-08T23:22:37.8493484Z         },
2026-06-08T23:22:37.8493770Z         "unit": {
2026-06-08T23:22:37.8494080Z           "complete": true,
2026-06-08T23:22:37.8494380Z           "evidence": [
2026-06-08T23:22:37.8494661Z             {
2026-06-08T23:22:37.8495063Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-08T23:22:37.8495361Z               "line": 234
2026-06-08T23:22:37.8495649Z             },
2026-06-08T23:22:37.8495935Z             {
2026-06-08T23:22:37.8496332Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-08T23:22:37.8496628Z               "line": 267
2026-06-08T23:22:37.8496913Z             },
2026-06-08T23:22:37.8497267Z             {
2026-06-08T23:22:37.8497672Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-08T23:22:37.8497975Z               "line": 307
2026-06-08T23:22:37.8498254Z             },
2026-06-08T23:22:37.8498526Z             {
2026-06-08T23:22:37.8498909Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-08T23:22:37.8499209Z               "line": 519
2026-06-08T23:22:37.8499480Z             },
2026-06-08T23:22:37.8499756Z             {
2026-06-08T23:22:37.8500148Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-08T23:22:37.8500434Z               "line": 592
2026-06-08T23:22:37.8500718Z             },
2026-06-08T23:22:37.8501000Z             {
2026-06-08T23:22:37.8501405Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-08T23:22:37.8501700Z               "line": 736
2026-06-08T23:22:37.8501987Z             },
2026-06-08T23:22:37.8502268Z             {
2026-06-08T23:22:37.8502635Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.8502941Z               "line": 575
2026-06-08T23:22:37.8503216Z             },
2026-06-08T23:22:37.8503505Z             {
2026-06-08T23:22:37.8503900Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-08T23:22:37.8504200Z               "line": 352
2026-06-08T23:22:37.8504487Z             },
2026-06-08T23:22:37.8504763Z             {
2026-06-08T23:22:37.8505106Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8505407Z               "line": 5314
2026-06-08T23:22:37.8505698Z             },
2026-06-08T23:22:37.8505983Z             {
2026-06-08T23:22:37.8506320Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8506620Z               "line": 5636
2026-06-08T23:22:37.8507077Z             },
2026-06-08T23:22:37.8507355Z             {
2026-06-08T23:22:37.8507698Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8507997Z               "line": 6002
2026-06-08T23:22:37.8508284Z             }
2026-06-08T23:22:37.8508564Z           ]
2026-06-08T23:22:37.8508939Z         }
2026-06-08T23:22:37.8509215Z       }
2026-06-08T23:22:37.8509502Z     },
2026-06-08T23:22:37.8509774Z     {
2026-06-08T23:22:37.8510088Z       "id": "REQ-SHELL-2",
2026-06-08T23:22:37.8514460Z       "title": "Shell sleep/wake: link-break always closes the binary (pre-close instruction + termination timeout), ephemeral teardown vs persistent offline/relink, wake_command wake-watcher (offline-only, exit-opcode supervision, exponential backoff + give-up), state-keyed wake resolution (dormant/suspended/active-elsewhere; no-reachable refuses — spawn-anywhere branch deferred), spt shutdown owner cascade + api owner-shutdown gated by can_shutdown (CONTEXT Shell sleep/wake)",
2026-06-08T23:22:37.8514798Z       "requiredStages": [
2026-06-08T23:22:37.8515085Z         "impl",
2026-06-08T23:22:37.8515371Z         "unit",
2026-06-08T23:22:37.8515652Z         "int"
2026-06-08T23:22:37.8515939Z       ],
2026-06-08T23:22:37.8516226Z       "stages": {
2026-06-08T23:22:37.8516514Z         "doc": {
2026-06-08T23:22:37.8516847Z           "complete": false,
2026-06-08T23:22:37.8517228Z           "evidence": []
2026-06-08T23:22:37.8517509Z         },
2026-06-08T23:22:37.8517800Z         "impl": {
2026-06-08T23:22:37.8518106Z           "complete": true,
2026-06-08T23:22:37.8518397Z           "evidence": [
2026-06-08T23:22:37.8518678Z             {
2026-06-08T23:22:37.8519067Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-08T23:22:37.8519370Z               "line": 246
2026-06-08T23:22:37.8519646Z             },
2026-06-08T23:22:37.8519927Z             {
2026-06-08T23:22:37.8520329Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-08T23:22:37.8520630Z               "line": 403
2026-06-08T23:22:37.8520915Z             },
2026-06-08T23:22:37.8521196Z             {
2026-06-08T23:22:37.8521584Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-08T23:22:37.8521886Z               "line": 250
2026-06-08T23:22:37.8522177Z             },
2026-06-08T23:22:37.8522463Z             {
2026-06-08T23:22:37.8522874Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-08T23:22:37.8523184Z               "line": 310
2026-06-08T23:22:37.8523465Z             },
2026-06-08T23:22:37.8523751Z             {
2026-06-08T23:22:37.8524143Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-08T23:22:37.8524441Z               "line": 30
2026-06-08T23:22:37.8524711Z             },
2026-06-08T23:22:37.8524982Z             {
2026-06-08T23:22:37.8525373Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-08T23:22:37.8525669Z               "line": 150
2026-06-08T23:22:37.8525950Z             },
2026-06-08T23:22:37.8526227Z             {
2026-06-08T23:22:37.8526613Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-08T23:22:37.8526908Z               "line": 186
2026-06-08T23:22:37.8527272Z             },
2026-06-08T23:22:37.8527554Z             {
2026-06-08T23:22:37.8527950Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-08T23:22:37.8528255Z               "line": 345
2026-06-08T23:22:37.8528536Z             },
2026-06-08T23:22:37.8528808Z             {
2026-06-08T23:22:37.8529204Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-08T23:22:37.8529522Z               "line": 348
2026-06-08T23:22:37.8529806Z             },
2026-06-08T23:22:37.8530078Z             {
2026-06-08T23:22:37.8530483Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-08T23:22:37.8530783Z               "line": 115
2026-06-08T23:22:37.8531060Z             },
2026-06-08T23:22:37.8531336Z             {
2026-06-08T23:22:37.8531737Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-08T23:22:37.8532144Z               "line": 120
2026-06-08T23:22:37.8532423Z             },
2026-06-08T23:22:37.8532704Z             {
2026-06-08T23:22:37.8533100Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-08T23:22:37.8533395Z               "line": 360
2026-06-08T23:22:37.8533681Z             },
2026-06-08T23:22:37.8534069Z             {
2026-06-08T23:22:37.8534470Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-08T23:22:37.8534775Z               "line": 464
2026-06-08T23:22:37.8535059Z             },
2026-06-08T23:22:37.8535343Z             {
2026-06-08T23:22:37.8535739Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-08T23:22:37.8536030Z               "line": 24
2026-06-08T23:22:37.8536311Z             },
2026-06-08T23:22:37.8536592Z             {
2026-06-08T23:22:37.8537073Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-08T23:22:37.8537379Z               "line": 76
2026-06-08T23:22:37.8537659Z             },
2026-06-08T23:22:37.8537948Z             {
2026-06-08T23:22:37.8538348Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-08T23:22:37.8538644Z               "line": 154
2026-06-08T23:22:37.8538935Z             },
2026-06-08T23:22:37.8539217Z             {
2026-06-08T23:22:37.8539621Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-08T23:22:37.8539917Z               "line": 177
2026-06-08T23:22:37.8540188Z             },
2026-06-08T23:22:37.8540461Z             {
2026-06-08T23:22:37.8540858Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-08T23:22:37.8541163Z               "line": 273
2026-06-08T23:22:37.8541440Z             },
2026-06-08T23:22:37.8541716Z             {
2026-06-08T23:22:37.8542122Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-08T23:22:37.8542418Z               "line": 450
2026-06-08T23:22:37.8542699Z             },
2026-06-08T23:22:37.8542978Z             {
2026-06-08T23:22:37.8543375Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-08T23:22:37.8543680Z               "line": 532
2026-06-08T23:22:37.8543961Z             },
2026-06-08T23:22:37.8544241Z             {
2026-06-08T23:22:37.8544644Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-08T23:22:37.8544949Z               "line": 27
2026-06-08T23:22:37.8545234Z             },
2026-06-08T23:22:37.8545514Z             {
2026-06-08T23:22:37.8545927Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-08T23:22:37.8546222Z               "line": 43
2026-06-08T23:22:37.8546503Z             },
2026-06-08T23:22:37.8546779Z             {
2026-06-08T23:22:37.8547253Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-08T23:22:37.8547563Z               "line": 323
2026-06-08T23:22:37.8547844Z             },
2026-06-08T23:22:37.8548133Z             {
2026-06-08T23:22:37.8548479Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8548780Z               "line": 1195
2026-06-08T23:22:37.8549065Z             },
2026-06-08T23:22:37.8549346Z             {
2026-06-08T23:22:37.8549690Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8549986Z               "line": 3913
2026-06-08T23:22:37.8550276Z             },
2026-06-08T23:22:37.8550552Z             {
2026-06-08T23:22:37.8550903Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8551207Z               "line": 3974
2026-06-08T23:22:37.8551494Z             },
2026-06-08T23:22:37.8551771Z             {
2026-06-08T23:22:37.8552119Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8552419Z               "line": 4002
2026-06-08T23:22:37.8552696Z             },
2026-06-08T23:22:37.8552988Z             {
2026-06-08T23:22:37.8553326Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8553625Z               "line": 4056
2026-06-08T23:22:37.8553906Z             },
2026-06-08T23:22:37.8554187Z             {
2026-06-08T23:22:37.8554530Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8554936Z               "line": 4172
2026-06-08T23:22:37.8555223Z             },
2026-06-08T23:22:37.8555499Z             {
2026-06-08T23:22:37.8555838Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8556131Z               "line": 4225
2026-06-08T23:22:37.8556414Z             },
2026-06-08T23:22:37.8556792Z             {
2026-06-08T23:22:37.8557240Z               "path": "crates/spt/src/wansend.rs",
2026-06-08T23:22:37.8557541Z               "line": 298
2026-06-08T23:22:37.8557823Z             },
2026-06-08T23:22:37.8558099Z             {
2026-06-08T23:22:37.8558453Z               "path": "crates/spt/src/wansend.rs",
2026-06-08T23:22:37.8558760Z               "line": 339
2026-06-08T23:22:37.8559044Z             }
2026-06-08T23:22:37.8559320Z           ]
2026-06-08T23:22:37.8559601Z         },
2026-06-08T23:22:37.8559883Z         "int": {
2026-06-08T23:22:37.8560188Z           "complete": true,
2026-06-08T23:22:37.8560489Z           "evidence": [
2026-06-08T23:22:37.8560765Z             {
2026-06-08T23:22:37.8561184Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-08T23:22:37.8561477Z               "line": 698
2026-06-08T23:22:37.8561758Z             },
2026-06-08T23:22:37.8562026Z             {
2026-06-08T23:22:37.8562425Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-08T23:22:37.8562717Z               "line": 706
2026-06-08T23:22:37.8562993Z             },
2026-06-08T23:22:37.8563271Z             {
2026-06-08T23:22:37.8563660Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-08T23:22:37.8563956Z               "line": 1116
2026-06-08T23:22:37.8564228Z             },
2026-06-08T23:22:37.8564505Z             {
2026-06-08T23:22:37.8564915Z               "path": "crates/spt/tests/shell_sleepwake_e2e.rs",
2026-06-08T23:22:37.8565210Z               "line": 18
2026-06-08T23:22:37.8565487Z             }
2026-06-08T23:22:37.8565754Z           ]
2026-06-08T23:22:37.8566035Z         },
2026-06-08T23:22:37.8566307Z         "unit": {
2026-06-08T23:22:37.8566615Z           "complete": true,
2026-06-08T23:22:37.8566899Z           "evidence": [
2026-06-08T23:22:37.8567266Z             {
2026-06-08T23:22:37.8567677Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-08T23:22:37.8567972Z               "line": 429
2026-06-08T23:22:37.8568248Z             },
2026-06-08T23:22:37.8568525Z             {
2026-06-08T23:22:37.8568902Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-08T23:22:37.8569191Z               "line": 794
2026-06-08T23:22:37.8569475Z             },
2026-06-08T23:22:37.8569771Z             {
2026-06-08T23:22:37.8570166Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-08T23:22:37.8570466Z               "line": 625
2026-06-08T23:22:37.8570744Z             },
2026-06-08T23:22:37.8571025Z             {
2026-06-08T23:22:37.8571425Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-08T23:22:37.8571720Z               "line": 674
2026-06-08T23:22:37.8572004Z             },
2026-06-08T23:22:37.8572286Z             {
2026-06-08T23:22:37.8572685Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-08T23:22:37.8572986Z               "line": 698
2026-06-08T23:22:37.8573268Z             },
2026-06-08T23:22:37.8573554Z             {
2026-06-08T23:22:37.8573945Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-08T23:22:37.8574254Z               "line": 596
2026-06-08T23:22:37.8574531Z             },
2026-06-08T23:22:37.8574807Z             {
2026-06-08T23:22:37.8575202Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-08T23:22:37.8575513Z               "line": 617
2026-06-08T23:22:37.8575794Z             },
2026-06-08T23:22:37.8576076Z             {
2026-06-08T23:22:37.8576466Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-08T23:22:37.8576761Z               "line": 653
2026-06-08T23:22:37.8577118Z             },
2026-06-08T23:22:37.8577389Z             {
2026-06-08T23:22:37.8577788Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-08T23:22:37.8578198Z               "line": 707
2026-06-08T23:22:37.8578475Z             },
2026-06-08T23:22:37.8578761Z             {
2026-06-08T23:22:37.8579157Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-08T23:22:37.8579457Z               "line": 725
2026-06-08T23:22:37.8579838Z             },
2026-06-08T23:22:37.8580116Z             {
2026-06-08T23:22:37.8580513Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-08T23:22:37.8580799Z               "line": 759
2026-06-08T23:22:37.8581075Z             },
2026-06-08T23:22:37.8581356Z             {
2026-06-08T23:22:37.8581753Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-08T23:22:37.8582053Z               "line": 834
2026-06-08T23:22:37.8582333Z             },
2026-06-08T23:22:37.8582611Z             {
2026-06-08T23:22:37.8583012Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-08T23:22:37.8583308Z               "line": 80
2026-06-08T23:22:37.8583593Z             },
2026-06-08T23:22:37.8583880Z             {
2026-06-08T23:22:37.8584223Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8584519Z               "line": 4786
2026-06-08T23:22:37.8584800Z             },
2026-06-08T23:22:37.8585077Z             {
2026-06-08T23:22:37.8585425Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8585726Z               "line": 5391
2026-06-08T23:22:37.8586006Z             },
2026-06-08T23:22:37.8586298Z             {
2026-06-08T23:22:37.8586641Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8587035Z               "line": 5461
2026-06-08T23:22:37.8587312Z             },
2026-06-08T23:22:37.8587604Z             {
2026-06-08T23:22:37.8587945Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8588244Z               "line": 5499
2026-06-08T23:22:37.8588535Z             }
2026-06-08T23:22:37.8588817Z           ]
2026-06-08T23:22:37.8589093Z         }
2026-06-08T23:22:37.8589369Z       }
2026-06-08T23:22:37.8589702Z     },
2026-06-08T23:22:37.8589974Z     {
2026-06-08T23:22:37.8590284Z       "id": "REQ-START-1",
2026-06-08T23:22:37.8590905Z       "title": "Adapters never resolve SPT_HOME; binary on PATH; api bridging only",
2026-06-08T23:22:37.8591215Z       "requiredStages": [
2026-06-08T23:22:37.8591502Z         "impl",
2026-06-08T23:22:37.8591788Z         "unit"
2026-06-08T23:22:37.8592070Z       ],
2026-06-08T23:22:37.8592357Z       "stages": {
2026-06-08T23:22:37.8592633Z         "doc": {
2026-06-08T23:22:37.8592945Z           "complete": false,
2026-06-08T23:22:37.8593229Z           "evidence": []
2026-06-08T23:22:37.8593505Z         },
2026-06-08T23:22:37.8593777Z         "impl": {
2026-06-08T23:22:37.8594083Z           "complete": true,
2026-06-08T23:22:37.8594369Z           "evidence": [
2026-06-08T23:22:37.8594655Z             {
2026-06-08T23:22:37.8595031Z               "path": "crates/spt-store/src/seed.rs",
2026-06-08T23:22:37.8595327Z               "line": 16
2026-06-08T23:22:37.8595614Z             }
2026-06-08T23:22:37.8595890Z           ]
2026-06-08T23:22:37.8596176Z         },
2026-06-08T23:22:37.8596461Z         "int": {
2026-06-08T23:22:37.8596776Z           "complete": false,
2026-06-08T23:22:37.8597148Z           "evidence": []
2026-06-08T23:22:37.8597430Z         },
2026-06-08T23:22:37.8597720Z         "unit": {
2026-06-08T23:22:37.8598031Z           "complete": true,
2026-06-08T23:22:37.8598329Z           "evidence": [
2026-06-08T23:22:37.8598603Z             {
2026-06-08T23:22:37.8598975Z               "path": "crates/spt-store/src/seed.rs",
2026-06-08T23:22:37.8599275Z               "line": 43
2026-06-08T23:22:37.8599552Z             },
2026-06-08T23:22:37.8602482Z             {
2026-06-08T23:22:37.8602893Z               "path": "crates/spt-store/src/seed.rs",
2026-06-08T23:22:37.8603193Z               "line": 59
2026-06-08T23:22:37.8603472Z             }
2026-06-08T23:22:37.8603751Z           ]
2026-06-08T23:22:37.8604028Z         }
2026-06-08T23:22:37.8604305Z       }
2026-06-08T23:22:37.8604724Z     },
2026-06-08T23:22:37.8605000Z     {
2026-06-08T23:22:37.8605306Z       "id": "REQ-START-2",
2026-06-08T23:22:37.8605774Z       "title": "Harness-hosted startup: api seed then listen",
2026-06-08T23:22:37.8606084Z       "requiredStages": [
2026-06-08T23:22:37.8606373Z         "impl",
2026-06-08T23:22:37.8606755Z         "unit",
2026-06-08T23:22:37.8607122Z         "int"
2026-06-08T23:22:37.8607399Z       ],
2026-06-08T23:22:37.8607695Z       "stages": {
2026-06-08T23:22:37.8607971Z         "doc": {
2026-06-08T23:22:37.8608281Z           "complete": false,
2026-06-08T23:22:37.8608576Z           "evidence": []
2026-06-08T23:22:37.8608856Z         },
2026-06-08T23:22:37.8609140Z         "impl": {
2026-06-08T23:22:37.8609441Z           "complete": true,
2026-06-08T23:22:37.8609737Z           "evidence": [
2026-06-08T23:22:37.8610013Z             {
2026-06-08T23:22:37.8610394Z               "path": "crates/spt/src/api/startup.rs",
2026-06-08T23:22:37.8610689Z               "line": 16
2026-06-08T23:22:37.8610971Z             },
2026-06-08T23:22:37.8611244Z             {
2026-06-08T23:22:37.8611623Z               "path": "crates/spt/src/api/startup.rs",
2026-06-08T23:22:37.8611917Z               "line": 100
2026-06-08T23:22:37.8612194Z             },
2026-06-08T23:22:37.8612470Z             {
2026-06-08T23:22:37.8612852Z               "path": "crates/spt/src/api/startup.rs",
2026-06-08T23:22:37.8613148Z               "line": 208
2026-06-08T23:22:37.8613429Z             }
2026-06-08T23:22:37.8613705Z           ]
2026-06-08T23:22:37.8613985Z         },
2026-06-08T23:22:37.8614269Z         "int": {
2026-06-08T23:22:37.8614569Z           "complete": true,
2026-06-08T23:22:37.8614860Z           "evidence": [
2026-06-08T23:22:37.8615137Z             {
2026-06-08T23:22:37.8615523Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-08T23:22:37.8615818Z               "line": 182
2026-06-08T23:22:37.8616095Z             }
2026-06-08T23:22:37.8616368Z           ]
2026-06-08T23:22:37.8616649Z         },
2026-06-08T23:22:37.8616933Z         "unit": {
2026-06-08T23:22:37.8617334Z           "complete": true,
2026-06-08T23:22:37.8617649Z           "evidence": [
2026-06-08T23:22:37.8617921Z             {
2026-06-08T23:22:37.8618302Z               "path": "crates/spt/src/api/startup.rs",
2026-06-08T23:22:37.8618598Z               "line": 421
2026-06-08T23:22:37.8618880Z             },
2026-06-08T23:22:37.8619166Z             {
2026-06-08T23:22:37.8619541Z               "path": "crates/spt/src/api/startup.rs",
2026-06-08T23:22:37.8619843Z               "line": 454
2026-06-08T23:22:37.8620125Z             }
2026-06-08T23:22:37.8620410Z           ]
2026-06-08T23:22:37.8620687Z         }
2026-06-08T23:22:37.8620964Z       }
2026-06-08T23:22:37.8621245Z     },
2026-06-08T23:22:37.8621517Z     {
2026-06-08T23:22:37.8621818Z       "id": "REQ-START-3",
2026-06-08T23:22:37.8622371Z       "title": "spt-hosted startup: spawn-session then api bind (no file)",
2026-06-08T23:22:37.8622677Z       "requiredStages": [
2026-06-08T23:22:37.8622962Z         "impl",
2026-06-08T23:22:37.8623244Z         "unit",
2026-06-08T23:22:37.8623531Z         "int"
2026-06-08T23:22:37.8623811Z       ],
2026-06-08T23:22:37.8624098Z       "stages": {
2026-06-08T23:22:37.8624375Z         "doc": {
2026-06-08T23:22:37.8624683Z           "complete": false,
2026-06-08T23:22:37.8624991Z           "evidence": []
2026-06-08T23:22:37.8625273Z         },
2026-06-08T23:22:37.8625558Z         "impl": {
2026-06-08T23:22:37.8625863Z           "complete": true,
2026-06-08T23:22:37.8626154Z           "evidence": [
2026-06-08T23:22:37.8626431Z             {
2026-06-08T23:22:37.8626822Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-08T23:22:37.8627195Z               "line": 23
2026-06-08T23:22:37.8627478Z             },
2026-06-08T23:22:37.8627760Z             {
2026-06-08T23:22:37.8628152Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-08T23:22:37.8628452Z               "line": 205
2026-06-08T23:22:37.8628844Z             },
2026-06-08T23:22:37.8629120Z             {
2026-06-08T23:22:37.8629511Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-08T23:22:37.8629798Z               "line": 221
2026-06-08T23:22:37.8630076Z             },
2026-06-08T23:22:37.8630345Z             {
2026-06-08T23:22:37.8630718Z               "path": "crates/spt/src/api/startup.rs",
2026-06-08T23:22:37.8631124Z               "line": 17
2026-06-08T23:22:37.8631405Z             },
2026-06-08T23:22:37.8631682Z             {
2026-06-08T23:22:37.8632063Z               "path": "crates/spt/src/api/startup.rs",
2026-06-08T23:22:37.8632360Z               "line": 43
2026-06-08T23:22:37.8632639Z             },
2026-06-08T23:22:37.8632917Z             {
2026-06-08T23:22:37.8633290Z               "path": "crates/spt/src/api/startup.rs",
2026-06-08T23:22:37.8633590Z               "line": 101
2026-06-08T23:22:37.8633871Z             }
2026-06-08T23:22:37.8634152Z           ]
2026-06-08T23:22:37.8634429Z         },
2026-06-08T23:22:37.8634715Z         "int": {
2026-06-08T23:22:37.8635020Z           "complete": true,
2026-06-08T23:22:37.8635314Z           "evidence": [
2026-06-08T23:22:37.8635590Z             {
2026-06-08T23:22:37.8635976Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-08T23:22:37.8636271Z               "line": 436
2026-06-08T23:22:37.8636558Z             }
2026-06-08T23:22:37.8636835Z           ]
2026-06-08T23:22:37.8637202Z         },
2026-06-08T23:22:37.8637493Z         "unit": {
2026-06-08T23:22:37.8637803Z           "complete": true,
2026-06-08T23:22:37.8638092Z           "evidence": [
2026-06-08T23:22:37.8638363Z             {
2026-06-08T23:22:37.8638746Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-08T23:22:37.8639046Z               "line": 331
2026-06-08T23:22:37.8639331Z             },
2026-06-08T23:22:37.8639613Z             {
2026-06-08T23:22:37.8640005Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-08T23:22:37.8640301Z               "line": 352
2026-06-08T23:22:37.8640593Z             },
2026-06-08T23:22:37.8640873Z             {
2026-06-08T23:22:37.8641264Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-08T23:22:37.8641564Z               "line": 362
2026-06-08T23:22:37.8641841Z             },
2026-06-08T23:22:37.8642112Z             {
2026-06-08T23:22:37.8642494Z               "path": "crates/spt/src/api/startup.rs",
2026-06-08T23:22:37.8642780Z               "line": 422
2026-06-08T23:22:37.8643070Z             },
2026-06-08T23:22:37.8643344Z             {
2026-06-08T23:22:37.8643716Z               "path": "crates/spt/src/api/startup.rs",
2026-06-08T23:22:37.8644011Z               "line": 455
2026-06-08T23:22:37.8644294Z             },
2026-06-08T23:22:37.8644565Z             {
2026-06-08T23:22:37.8644937Z               "path": "crates/spt/src/api/startup.rs",
2026-06-08T23:22:37.8645242Z               "line": 463
2026-06-08T23:22:37.8645515Z             }
2026-06-08T23:22:37.8645785Z           ]
2026-06-08T23:22:37.8646054Z         }
2026-06-08T23:22:37.8646330Z       }
2026-06-08T23:22:37.8646593Z     },
2026-06-08T23:22:37.8646879Z     {
2026-06-08T23:22:37.8647270Z       "id": "REQ-START-4",
2026-06-08T23:22:37.8647714Z       "title": "Adapter-injected env aliases (SPT/OWL/LIVE)",
2026-06-08T23:22:37.8648025Z       "requiredStages": [
2026-06-08T23:22:37.8648311Z         "impl",
2026-06-08T23:22:37.8648594Z         "unit"
2026-06-08T23:22:37.8648871Z       ],
2026-06-08T23:22:37.8649157Z       "stages": {
2026-06-08T23:22:37.8649444Z         "doc": {
2026-06-08T23:22:37.8649749Z           "complete": false,
2026-06-08T23:22:37.8650044Z           "evidence": []
2026-06-08T23:22:37.8650322Z         },
2026-06-08T23:22:37.8650613Z         "impl": {
2026-06-08T23:22:37.8650923Z           "complete": true,
2026-06-08T23:22:37.8651221Z           "evidence": [
2026-06-08T23:22:37.8651500Z             {
2026-06-08T23:22:37.8651887Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-08T23:22:37.8652187Z               "line": 391
2026-06-08T23:22:37.8652578Z             }
2026-06-08T23:22:37.8652860Z           ]
2026-06-08T23:22:37.8653132Z         },
2026-06-08T23:22:37.8653413Z         "int": {
2026-06-08T23:22:37.8653725Z           "complete": false,
2026-06-08T23:22:37.8654018Z           "evidence": []
2026-06-08T23:22:37.8654295Z         },
2026-06-08T23:22:37.8654677Z         "unit": {
2026-06-08T23:22:37.8654986Z           "complete": true,
2026-06-08T23:22:37.8655283Z           "evidence": [
2026-06-08T23:22:37.8655564Z             {
2026-06-08T23:22:37.8655960Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-08T23:22:37.8656254Z               "line": 660
2026-06-08T23:22:37.8656533Z             }
2026-06-08T23:22:37.8656809Z           ]
2026-06-08T23:22:37.8657167Z         }
2026-06-08T23:22:37.8657444Z       }
2026-06-08T23:22:37.8657740Z     },
2026-06-08T23:22:37.8658021Z     {
2026-06-08T23:22:37.8658707Z       "id": "REQ-STORE-1",
2026-06-08T23:22:37.8661871Z       "title": "spt-store::BranchStore (git branch as versioned KV; commit=checkpoint/tip=resume, atomic multi-key, merge-native sync) is the substrate for coarse/durable/audited state (context, registry snapshot+distribution, daemon checkpoint); hot paths (B5 fsync journal) + indexed queries (SQLite spool) excluded (ADR-0011)",
2026-06-08T23:22:37.8665184Z       "requiredStages": [
2026-06-08T23:22:37.8665891Z         "impl",
2026-06-08T23:22:37.8666520Z         "unit"
2026-06-08T23:22:37.8667212Z       ],
2026-06-08T23:22:37.8667842Z       "stages": {
2026-06-08T23:22:37.8668463Z         "doc": {
2026-06-08T23:22:37.8669106Z           "complete": false,
2026-06-08T23:22:37.8669845Z           "evidence": []
2026-06-08T23:22:37.8670517Z         },
2026-06-08T23:22:37.8671122Z         "impl": {
2026-06-08T23:22:37.8671894Z           "complete": true,
2026-06-08T23:22:37.8672659Z           "evidence": [
2026-06-08T23:22:37.8673345Z             {
2026-06-08T23:22:37.8674084Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-08T23:22:37.8675002Z               "line": 23
2026-06-08T23:22:37.8675678Z             },
2026-06-08T23:22:37.8676288Z             {
2026-06-08T23:22:37.8677105Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-08T23:22:37.8678011Z               "line": 46
2026-06-08T23:22:37.8678683Z             },
2026-06-08T23:22:37.8679303Z             {
2026-06-08T23:22:37.8680030Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-08T23:22:37.8680941Z               "line": 97
2026-06-08T23:22:37.8681614Z             },
2026-06-08T23:22:37.8682224Z             {
2026-06-08T23:22:37.8682946Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-08T23:22:37.8683856Z               "line": 125
2026-06-08T23:22:37.8684524Z             },
2026-06-08T23:22:37.8685135Z             {
2026-06-08T23:22:37.8685865Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-08T23:22:37.8686766Z               "line": 181
2026-06-08T23:22:37.8687518Z             },
2026-06-08T23:22:37.8688143Z             {
2026-06-08T23:22:37.8688871Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-08T23:22:37.8689778Z               "line": 205
2026-06-08T23:22:37.8690464Z             },
2026-06-08T23:22:37.8691068Z             {
2026-06-08T23:22:37.8691803Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-08T23:22:37.8692714Z               "line": 441
2026-06-08T23:22:37.8693385Z             },
2026-06-08T23:22:37.8693993Z             {
2026-06-08T23:22:37.8694743Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-08T23:22:37.8695668Z               "line": 25
2026-06-08T23:22:37.8696341Z             },
2026-06-08T23:22:37.8697037Z             {
2026-06-08T23:22:37.8697771Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-08T23:22:37.8698684Z               "line": 104
2026-06-08T23:22:37.8699361Z             },
2026-06-08T23:22:37.8699966Z             {
2026-06-08T23:22:37.8700705Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-08T23:22:37.8701768Z               "line": 132
2026-06-08T23:22:37.8702460Z             },
2026-06-08T23:22:37.8703075Z             {
2026-06-08T23:22:37.8703813Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-08T23:22:37.8704730Z               "line": 148
2026-06-08T23:22:37.8705512Z             },
2026-06-08T23:22:37.8706122Z             {
2026-06-08T23:22:37.8706858Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-08T23:22:37.8707870Z               "line": 166
2026-06-08T23:22:37.8708551Z             },
2026-06-08T23:22:37.8709160Z             {
2026-06-08T23:22:37.8709893Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-08T23:22:37.8710813Z               "line": 175
2026-06-08T23:22:37.8711489Z             },
2026-06-08T23:22:37.8712113Z             {
2026-06-08T23:22:37.8712838Z               "path": "crates/spt-store/src/project.rs",
2026-06-08T23:22:37.8713734Z               "line": 16
2026-06-08T23:22:37.8714411Z             },
2026-06-08T23:22:37.8715033Z             {
2026-06-08T23:22:37.8715747Z               "path": "crates/spt-store/src/project.rs",
2026-06-08T23:22:37.8716629Z               "line": 63
2026-06-08T23:22:37.8717380Z             }
2026-06-08T23:22:37.8717990Z           ]
2026-06-08T23:22:37.8718577Z         },
2026-06-08T23:22:37.8719177Z         "int": {
2026-06-08T23:22:37.8719828Z           "complete": false,
2026-06-08T23:22:37.8720557Z           "evidence": []
2026-06-08T23:22:37.8721234Z         },
2026-06-08T23:22:37.8721835Z         "unit": {
2026-06-08T23:22:37.8722477Z           "complete": true,
2026-06-08T23:22:37.8723188Z           "evidence": [
2026-06-08T23:22:37.8723852Z             {
2026-06-08T23:22:37.8724576Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-08T23:22:37.8725494Z               "line": 558
2026-06-08T23:22:37.8726180Z             },
2026-06-08T23:22:37.8726781Z             {
2026-06-08T23:22:37.8727594Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-08T23:22:37.8728508Z               "line": 568
2026-06-08T23:22:37.8729189Z             },
2026-06-08T23:22:37.8729809Z             {
2026-06-08T23:22:37.8730535Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-08T23:22:37.8731451Z               "line": 590
2026-06-08T23:22:37.8732196Z             },
2026-06-08T23:22:37.8732816Z             {
2026-06-08T23:22:37.8733539Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-08T23:22:37.8734441Z               "line": 606
2026-06-08T23:22:37.8735113Z             },
2026-06-08T23:22:37.8735726Z             {
2026-06-08T23:22:37.8736459Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-08T23:22:37.8737426Z               "line": 629
2026-06-08T23:22:37.8738107Z             },
2026-06-08T23:22:37.8738724Z             {
2026-06-08T23:22:37.8739459Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-08T23:22:37.8740370Z               "line": 440
2026-06-08T23:22:37.8741062Z             },
2026-06-08T23:22:37.8741682Z             {
2026-06-08T23:22:37.8742417Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-08T23:22:37.8743333Z               "line": 475
2026-06-08T23:22:37.8744008Z             },
2026-06-08T23:22:37.8744614Z             {
2026-06-08T23:22:37.8745330Z               "path": "crates/spt-store/src/project.rs",
2026-06-08T23:22:37.8746229Z               "line": 120
2026-06-08T23:22:37.8746905Z             },
2026-06-08T23:22:37.8747610Z             {
2026-06-08T23:22:37.8748349Z               "path": "crates/spt-store/src/project.rs",
2026-06-08T23:22:37.8749238Z               "line": 128
2026-06-08T23:22:37.8749914Z             }
2026-06-08T23:22:37.8750520Z           ]
2026-06-08T23:22:37.8751107Z         }
2026-06-08T23:22:37.8751685Z       }
2026-06-08T23:22:37.8752266Z     },
2026-06-08T23:22:37.8752838Z     {
2026-06-08T23:22:37.8753473Z       "id": "REQ-SUBNET-1",
2026-06-08T23:22:37.8754970Z       "title": "spt subnet noun namespace: status view (bare + status [NAME] [--nodes]), create (QR/otpauth), show-code; spt pair deleted",
2026-06-08T23:22:37.8756699Z       "requiredStages": [
2026-06-08T23:22:37.8757470Z         "impl",
2026-06-08T23:22:37.8758090Z         "unit"
2026-06-08T23:22:37.8758690Z       ],
2026-06-08T23:22:37.8759275Z       "stages": {
2026-06-08T23:22:37.8760012Z         "doc": {
2026-06-08T23:22:37.8760652Z           "complete": false,
2026-06-08T23:22:37.8761380Z           "evidence": []
2026-06-08T23:22:37.8762068Z         },
2026-06-08T23:22:37.8762660Z         "impl": {
2026-06-08T23:22:37.8763313Z           "complete": true,
2026-06-08T23:22:37.8764033Z           "evidence": [
2026-06-08T23:22:37.8764704Z             {
2026-06-08T23:22:37.8765496Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.8766417Z               "line": 265
2026-06-08T23:22:37.8767202Z             },
2026-06-08T23:22:37.8767844Z             {
2026-06-08T23:22:37.8768587Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.8769517Z               "line": 571
2026-06-08T23:22:37.8770199Z             },
2026-06-08T23:22:37.8770820Z             {
2026-06-08T23:22:37.8771488Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8772345Z               "line": 2044
2026-06-08T23:22:37.8773043Z             },
2026-06-08T23:22:37.8773682Z             {
2026-06-08T23:22:37.8774375Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8775203Z               "line": 2209
2026-06-08T23:22:37.8775884Z             },
2026-06-08T23:22:37.8776490Z             {
2026-06-08T23:22:37.8777229Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8778084Z               "line": 2228
2026-06-08T23:22:37.8778789Z             },
2026-06-08T23:22:37.8779405Z             {
2026-06-08T23:22:37.8780072Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8780908Z               "line": 2289
2026-06-08T23:22:37.8781614Z             },
2026-06-08T23:22:37.8782238Z             {
2026-06-08T23:22:37.8782900Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8783747Z               "line": 2331
2026-06-08T23:22:37.8784428Z             },
2026-06-08T23:22:37.8785044Z             {
2026-06-08T23:22:37.8785734Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8786589Z               "line": 2504
2026-06-08T23:22:37.8787374Z             },
2026-06-08T23:22:37.8787994Z             {
2026-06-08T23:22:37.8788654Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8789484Z               "line": 2574
2026-06-08T23:22:37.8790175Z             },
2026-06-08T23:22:37.8790781Z             {
2026-06-08T23:22:37.8791455Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8792293Z               "line": 2649
2026-06-08T23:22:37.8792981Z             },
2026-06-08T23:22:37.8793594Z             {
2026-06-08T23:22:37.8794264Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8795107Z               "line": 2745
2026-06-08T23:22:37.8795799Z             },
2026-06-08T23:22:37.8796413Z             {
2026-06-08T23:22:37.8797191Z               "path": "crates/spt/src/wansend.rs",
2026-06-08T23:22:37.8798074Z               "line": 418
2026-06-08T23:22:37.8798761Z             }
2026-06-08T23:22:37.8799371Z           ]
2026-06-08T23:22:37.8799967Z         },
2026-06-08T23:22:37.8800563Z         "int": {
2026-06-08T23:22:37.8801202Z           "complete": false,
2026-06-08T23:22:37.8801919Z           "evidence": []
2026-06-08T23:22:37.8802578Z         },
2026-06-08T23:22:37.8803178Z         "unit": {
2026-06-08T23:22:37.8803822Z           "complete": true,
2026-06-08T23:22:37.8804544Z           "evidence": [
2026-06-08T23:22:37.8805201Z             {
2026-06-08T23:22:37.8805945Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.8806874Z               "line": 1446
2026-06-08T23:22:37.8807631Z             },
2026-06-08T23:22:37.8808246Z             {
2026-06-08T23:22:37.8808919Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8809927Z               "line": 6248
2026-06-08T23:22:37.8810619Z             },
2026-06-08T23:22:37.8811234Z             {
2026-06-08T23:22:37.8811902Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8812745Z               "line": 6404
2026-06-08T23:22:37.8813537Z             },
2026-06-08T23:22:37.8814149Z             {
2026-06-08T23:22:37.8814818Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8815665Z               "line": 6411
2026-06-08T23:22:37.8816358Z             },
2026-06-08T23:22:37.8817025Z             {
2026-06-08T23:22:37.8817706Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8818535Z               "line": 6464
2026-06-08T23:22:37.8819227Z             },
2026-06-08T23:22:37.8819834Z             {
2026-06-08T23:22:37.8820506Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8821354Z               "line": 6481
2026-06-08T23:22:37.8822051Z             },
2026-06-08T23:22:37.8822669Z             {
2026-06-08T23:22:37.8823340Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8824183Z               "line": 6495
2026-06-08T23:22:37.8824875Z             },
2026-06-08T23:22:37.8825496Z             {
2026-06-08T23:22:37.8826164Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8827089Z               "line": 6593
2026-06-08T23:22:37.8832511Z             },
2026-06-08T23:22:37.8833134Z             {
2026-06-08T23:22:37.8833813Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8834663Z               "line": 6743
2026-06-08T23:22:37.8835344Z             }
2026-06-08T23:22:37.8835958Z           ]
2026-06-08T23:22:37.8836548Z         }
2026-06-08T23:22:37.8837244Z       }
2026-06-08T23:22:37.8837840Z     },
2026-06-08T23:22:37.8838423Z     {
2026-06-08T23:22:37.8839022Z       "id": "REQ-SUBNET-2",
2026-06-08T23:22:37.8840189Z       "title": "Guided join e2e: spt subnet join CLI initiator + always-on daemon pairing responder",
2026-06-08T23:22:37.8841478Z       "requiredStages": [
2026-06-08T23:22:37.8842169Z         "impl",
2026-06-08T23:22:37.8842794Z         "unit",
2026-06-08T23:22:37.8843405Z         "int"
2026-06-08T23:22:37.8843998Z       ],
2026-06-08T23:22:37.8844594Z       "stages": {
2026-06-08T23:22:37.8845214Z         "doc": {
2026-06-08T23:22:37.8845853Z           "complete": true,
2026-06-08T23:22:37.8846569Z           "evidence": [
2026-06-08T23:22:37.8847342Z             {
2026-06-08T23:22:37.8848156Z               "path": "docs/adr/0005-totp-seeded-spake2-node-pairing.md",
2026-06-08T23:22:37.8849162Z               "line": 60
2026-06-08T23:22:37.8849838Z             }
2026-06-08T23:22:37.8850439Z           ]
2026-06-08T23:22:37.8851026Z         },
2026-06-08T23:22:37.8851613Z         "impl": {
2026-06-08T23:22:37.8852268Z           "complete": true,
2026-06-08T23:22:37.8852987Z           "evidence": [
2026-06-08T23:22:37.8853641Z             {
2026-06-08T23:22:37.8854345Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-08T23:22:37.8855235Z               "line": 548
2026-06-08T23:22:37.8855907Z             },
2026-06-08T23:22:37.8856522Z             {
2026-06-08T23:22:37.8857320Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-08T23:22:37.8858207Z               "line": 636
2026-06-08T23:22:37.8858880Z             },
2026-06-08T23:22:37.8859495Z             {
2026-06-08T23:22:37.8860205Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-08T23:22:37.8861086Z               "line": 448
2026-06-08T23:22:37.8861769Z             },
2026-06-08T23:22:37.8862377Z             {
2026-06-08T23:22:37.8863096Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-08T23:22:37.8863992Z               "line": 578
2026-06-08T23:22:37.8864665Z             },
2026-06-08T23:22:37.8865266Z             {
2026-06-08T23:22:37.8865991Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-08T23:22:37.8866878Z               "line": 26
2026-06-08T23:22:37.8867694Z             },
2026-06-08T23:22:37.8868443Z             {
2026-06-08T23:22:37.8869149Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-08T23:22:37.8870041Z               "line": 60
2026-06-08T23:22:37.8870707Z             },
2026-06-08T23:22:37.8871312Z             {
2026-06-08T23:22:37.8872024Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-08T23:22:37.8873018Z               "line": 168
2026-06-08T23:22:37.8873703Z             },
2026-06-08T23:22:37.8874318Z             {
2026-06-08T23:22:37.8875042Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-08T23:22:37.8875941Z               "line": 295
2026-06-08T23:22:37.8876618Z             },
2026-06-08T23:22:37.8877323Z             {
2026-06-08T23:22:37.8878056Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-08T23:22:37.8878955Z               "line": 417
2026-06-08T23:22:37.8879637Z             },
2026-06-08T23:22:37.8880238Z             {
2026-06-08T23:22:37.8880962Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-08T23:22:37.8881877Z               "line": 252
2026-06-08T23:22:37.8882555Z             },
2026-06-08T23:22:37.8883161Z             {
2026-06-08T23:22:37.8883834Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8884673Z               "line": 2255
2026-06-08T23:22:37.8885364Z             },
2026-06-08T23:22:37.8885974Z             {
2026-06-08T23:22:37.8886643Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8887607Z               "line": 2684
2026-06-08T23:22:37.8888294Z             },
2026-06-08T23:22:37.8888904Z             {
2026-06-08T23:22:37.8889568Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8890412Z               "line": 3125
2026-06-08T23:22:37.8891103Z             }
2026-06-08T23:22:37.8891758Z           ]
2026-06-08T23:22:37.8892387Z         },
2026-06-08T23:22:37.8892998Z         "int": {
2026-06-08T23:22:37.8893703Z           "complete": true,
2026-06-08T23:22:37.8894483Z           "evidence": [
2026-06-08T23:22:37.8895278Z             {
2026-06-08T23:22:37.8896047Z               "path": "crates/spt-daemon/tests/pairjoin.rs",
2026-06-08T23:22:37.8897107Z               "line": 22
2026-06-08T23:22:37.8897879Z             },
2026-06-08T23:22:37.8898493Z             {
2026-06-08T23:22:37.8899220Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-08T23:22:37.8900133Z               "line": 573
2026-06-08T23:22:37.8900825Z             },
2026-06-08T23:22:37.8901440Z             {
2026-06-08T23:22:37.8902164Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-08T23:22:37.8903075Z               "line": 790
2026-06-08T23:22:37.8903761Z             }
2026-06-08T23:22:37.8904372Z           ]
2026-06-08T23:22:37.8904973Z         },
2026-06-08T23:22:37.8905579Z         "unit": {
2026-06-08T23:22:37.8906232Z           "complete": true,
2026-06-08T23:22:37.8907032Z           "evidence": [
2026-06-08T23:22:37.8907702Z             {
2026-06-08T23:22:37.8908417Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-08T23:22:37.8909318Z               "line": 586
2026-06-08T23:22:37.8910001Z             },
2026-06-08T23:22:37.8910616Z             {
2026-06-08T23:22:37.8911284Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8912128Z               "line": 6288
2026-06-08T23:22:37.8912828Z             },
2026-06-08T23:22:37.8913453Z             {
2026-06-08T23:22:37.8914120Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8914961Z               "line": 6794
2026-06-08T23:22:37.8915649Z             }
2026-06-08T23:22:37.8916253Z           ]
2026-06-08T23:22:37.8916851Z         }
2026-06-08T23:22:37.8917550Z       }
2026-06-08T23:22:37.8918139Z     },
2026-06-08T23:22:37.8918725Z     {
2026-06-08T23:22:37.8919340Z       "id": "REQ-SUBNET-3",
2026-06-08T23:22:37.8920623Z       "title": "Node labels: hostname-default, gossiped, addressable in @node qualifiers (refuse-on-ambiguity)",
2026-06-08T23:22:37.8922035Z       "requiredStages": [
2026-06-08T23:22:37.8922847Z         "impl",
2026-06-08T23:22:37.8923469Z         "unit"
2026-06-08T23:22:37.8924079Z       ],
2026-06-08T23:22:37.8924681Z       "stages": {
2026-06-08T23:22:37.8925304Z         "doc": {
2026-06-08T23:22:37.8925964Z           "complete": false,
2026-06-08T23:22:37.8926694Z           "evidence": []
2026-06-08T23:22:37.8927605Z         },
2026-06-08T23:22:37.8928215Z         "impl": {
2026-06-08T23:22:37.8928875Z           "complete": true,
2026-06-08T23:22:37.8929595Z           "evidence": [
2026-06-08T23:22:37.8930268Z             {
2026-06-08T23:22:37.8931027Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.8931947Z               "line": 152
2026-06-08T23:22:37.8932633Z             },
2026-06-08T23:22:37.8933243Z             {
2026-06-08T23:22:37.8933991Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.8934921Z               "line": 283
2026-06-08T23:22:37.8935617Z             },
2026-06-08T23:22:37.8936231Z             {
2026-06-08T23:22:37.8937064Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.8937990Z               "line": 413
2026-06-08T23:22:37.8938671Z             },
2026-06-08T23:22:37.8939288Z             {
2026-06-08T23:22:37.8940035Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.8940960Z               "line": 452
2026-06-08T23:22:37.8941639Z             },
2026-06-08T23:22:37.8942249Z             {
2026-06-08T23:22:37.8942979Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.8943875Z               "line": 125
2026-06-08T23:22:37.8944565Z             },
2026-06-08T23:22:37.8945181Z             {
2026-06-08T23:22:37.8945911Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.8946820Z               "line": 237
2026-06-08T23:22:37.8947572Z             },
2026-06-08T23:22:37.8948192Z             {
2026-06-08T23:22:37.8948935Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.8949843Z               "line": 248
2026-06-08T23:22:37.8950534Z             },
2026-06-08T23:22:37.8951159Z             {
2026-06-08T23:22:37.8951892Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.8952801Z               "line": 269
2026-06-08T23:22:37.8953482Z             },
2026-06-08T23:22:37.8954102Z             {
2026-06-08T23:22:37.8954830Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.8955727Z               "line": 573
2026-06-08T23:22:37.8956414Z             },
2026-06-08T23:22:37.8957111Z             {
2026-06-08T23:22:37.8957837Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.8958748Z               "line": 632
2026-06-08T23:22:37.8959434Z             },
2026-06-08T23:22:37.8960047Z             {
2026-06-08T23:22:37.8960770Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-08T23:22:37.8961686Z               "line": 61
2026-06-08T23:22:37.8962372Z             },
2026-06-08T23:22:37.8962995Z             {
2026-06-08T23:22:37.8963723Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-08T23:22:37.8964633Z               "line": 90
2026-06-08T23:22:37.8965319Z             },
2026-06-08T23:22:37.8965935Z             {
2026-06-08T23:22:37.8966659Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-08T23:22:37.8967652Z               "line": 125
2026-06-08T23:22:37.8968339Z             },
2026-06-08T23:22:37.8968974Z             {
2026-06-08T23:22:37.8969693Z               "path": "crates/spt-store/src/hostlabel.rs",
2026-06-08T23:22:37.8970584Z               "line": 9
2026-06-08T23:22:37.8971245Z             },
2026-06-08T23:22:37.8971861Z             {
2026-06-08T23:22:37.8972528Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.8973367Z               "line": 2574
2026-06-08T23:22:37.8974059Z             },
2026-06-08T23:22:37.8974684Z             {
2026-06-08T23:22:37.8975367Z               "path": "crates/spt/src/wansend.rs",
2026-06-08T23:22:37.8976347Z               "line": 445
2026-06-08T23:22:37.8977125Z             }
2026-06-08T23:22:37.8977739Z           ]
2026-06-08T23:22:37.8978336Z         },
2026-06-08T23:22:37.8978929Z         "int": {
2026-06-08T23:22:37.8979587Z           "complete": false,
2026-06-08T23:22:37.8980325Z           "evidence": []
2026-06-08T23:22:37.8981120Z         },
2026-06-08T23:22:37.8981728Z         "unit": {
2026-06-08T23:22:37.8982382Z           "complete": true,
2026-06-08T23:22:37.8983107Z           "evidence": [
2026-06-08T23:22:37.8983772Z             {
2026-06-08T23:22:37.8984533Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.8985458Z               "line": 1273
2026-06-08T23:22:37.8986155Z             },
2026-06-08T23:22:37.8986773Z             {
2026-06-08T23:22:37.8987575Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.8988515Z               "line": 1575
2026-06-08T23:22:37.8989209Z             },
2026-06-08T23:22:37.8989837Z             {
2026-06-08T23:22:37.8990566Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-08T23:22:37.8991472Z               "line": 884
2026-06-08T23:22:37.8992155Z             },
2026-06-08T23:22:37.8992765Z             {
2026-06-08T23:22:37.8993480Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.8994383Z               "line": 941
2026-06-08T23:22:37.8995064Z             },
2026-06-08T23:22:37.8995676Z             {
2026-06-08T23:22:37.8996405Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.8997400Z               "line": 990
2026-06-08T23:22:37.8998083Z             },
2026-06-08T23:22:37.8998698Z             {
2026-06-08T23:22:37.8999418Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.9000320Z               "line": 1049
2026-06-08T23:22:37.9001017Z             },
2026-06-08T23:22:37.9001642Z             {
2026-06-08T23:22:37.9002377Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-08T23:22:37.9003293Z               "line": 233
2026-06-08T23:22:37.9003978Z             },
2026-06-08T23:22:37.9004599Z             {
2026-06-08T23:22:37.9005329Z               "path": "crates/spt-store/src/hostlabel.rs",
2026-06-08T23:22:37.9006226Z               "line": 49
2026-06-08T23:22:37.9006913Z             },
2026-06-08T23:22:37.9007612Z             {
2026-06-08T23:22:37.9008289Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.9009134Z               "line": 6593
2026-06-08T23:22:37.9009815Z             },
2026-06-08T23:22:37.9010427Z             {
2026-06-08T23:22:37.9011137Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.9011977Z               "line": 6698
2026-06-08T23:22:37.9012677Z             },
2026-06-08T23:22:37.9013289Z             {
2026-06-08T23:22:37.9013957Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.9014788Z               "line": 6760
2026-06-08T23:22:37.9015471Z             }
2026-06-08T23:22:37.9016091Z           ]
2026-06-08T23:22:37.9016687Z         }
2026-06-08T23:22:37.9017359Z       }
2026-06-08T23:22:37.9017960Z     },
2026-06-08T23:22:37.9018540Z     {
2026-06-08T23:22:37.9019150Z       "id": "REQ-SUBNET-4",
2026-06-08T23:22:37.9020530Z       "title": "Subnet membership mutations elevation-gated (create = seed reveal; join = trust-boundary enrollment)",
2026-06-08T23:22:37.9022051Z       "requiredStages": [
2026-06-08T23:22:37.9022758Z         "impl",
2026-06-08T23:22:37.9023395Z         "unit"
2026-06-08T23:22:37.9024017Z       ],
2026-06-08T23:22:37.9024613Z       "stages": {
2026-06-08T23:22:37.9025242Z         "doc": {
2026-06-08T23:22:37.9025889Z           "complete": true,
2026-06-08T23:22:37.9026613Z           "evidence": [
2026-06-08T23:22:37.9027366Z             {
2026-06-08T23:22:37.9028191Z               "path": "docs/adr/0005-totp-seeded-spake2-node-pairing.md",
2026-06-08T23:22:37.9029296Z               "line": 60
2026-06-08T23:22:37.9029982Z             }
2026-06-08T23:22:37.9030732Z           ]
2026-06-08T23:22:37.9031335Z         },
2026-06-08T23:22:37.9031938Z         "impl": {
2026-06-08T23:22:37.9032587Z           "complete": true,
2026-06-08T23:22:37.9032892Z           "evidence": [
2026-06-08T23:22:37.9033178Z             {
2026-06-08T23:22:37.9033522Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.9033931Z               "line": 2044
2026-06-08T23:22:37.9034214Z             },
2026-06-08T23:22:37.9034491Z             {
2026-06-08T23:22:37.9034834Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.9035130Z               "line": 3092
2026-06-08T23:22:37.9035411Z             },
2026-06-08T23:22:37.9035697Z             {
2026-06-08T23:22:37.9036031Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.9036326Z               "line": 3125
2026-06-08T23:22:37.9036615Z             }
2026-06-08T23:22:37.9036906Z           ]
2026-06-08T23:22:37.9037277Z         },
2026-06-08T23:22:37.9037568Z         "int": {
2026-06-08T23:22:37.9037888Z           "complete": false,
2026-06-08T23:22:37.9038188Z           "evidence": []
2026-06-08T23:22:37.9038479Z         },
2026-06-08T23:22:37.9038766Z         "unit": {
2026-06-08T23:22:37.9039085Z           "complete": true,
2026-06-08T23:22:37.9039384Z           "evidence": [
2026-06-08T23:22:37.9039670Z             {
2026-06-08T23:22:37.9040038Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.9040334Z               "line": 6390
2026-06-08T23:22:37.9040633Z             },
2026-06-08T23:22:37.9040919Z             {
2026-06-08T23:22:37.9041268Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.9041578Z               "line": 6464
2026-06-08T23:22:37.9041862Z             }
2026-06-08T23:22:37.9042155Z           ]
2026-06-08T23:22:37.9042437Z         }
2026-06-08T23:22:37.9042723Z       }
2026-06-08T23:22:37.9043009Z     },
2026-06-08T23:22:37.9043296Z     {
2026-06-08T23:22:37.9043610Z       "id": "REQ-SUBNET-5",
2026-06-08T23:22:37.9047058Z       "title": "Per-subnet serve-state: spt subnet detach <NAME> [--save] / attach <NAME> [--save] — daemon keeps running, stops/starts advertising + connecting for that subnet (peer pump + responder selective); --save persists the startup default in daemon config; the all-attached banner gains per-subnet states (M8 decision 6, --save renamed from --auto per decision 25 session)",
2026-06-08T23:22:37.9047414Z       "requiredStages": [
2026-06-08T23:22:37.9047699Z         "impl",
2026-06-08T23:22:37.9047990Z         "unit",
2026-06-08T23:22:37.9048271Z         "int"
2026-06-08T23:22:37.9048552Z       ],
2026-06-08T23:22:37.9048848Z       "stages": {
2026-06-08T23:22:37.9049129Z         "doc": {
2026-06-08T23:22:37.9049448Z           "complete": false,
2026-06-08T23:22:37.9049744Z           "evidence": []
2026-06-08T23:22:37.9050030Z         },
2026-06-08T23:22:37.9050321Z         "impl": {
2026-06-08T23:22:37.9050636Z           "complete": true,
2026-06-08T23:22:37.9050941Z           "evidence": [
2026-06-08T23:22:37.9051223Z             {
2026-06-08T23:22:37.9051646Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-08T23:22:37.9051947Z               "line": 126
2026-06-08T23:22:37.9052238Z             },
2026-06-08T23:22:37.9052522Z             {
2026-06-08T23:22:37.9052921Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-08T23:22:37.9053227Z               "line": 413
2026-06-08T23:22:37.9053508Z             },
2026-06-08T23:22:37.9053794Z             {
2026-06-08T23:22:37.9054189Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-08T23:22:37.9054490Z               "line": 74
2026-06-08T23:22:37.9054777Z             },
2026-06-08T23:22:37.9055061Z             {
2026-06-08T23:22:37.9055454Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-08T23:22:37.9055755Z               "line": 314
2026-06-08T23:22:37.9056041Z             },
2026-06-08T23:22:37.9056323Z             {
2026-06-08T23:22:37.9056733Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-08T23:22:37.9057252Z               "line": 31
2026-06-08T23:22:37.9057548Z             },
2026-06-08T23:22:37.9057832Z             {
2026-06-08T23:22:37.9058233Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-08T23:22:37.9058528Z               "line": 50
2026-06-08T23:22:37.9058805Z             },
2026-06-08T23:22:37.9059202Z             {
2026-06-08T23:22:37.9059621Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-08T23:22:37.9059913Z               "line": 69
2026-06-08T23:22:37.9060199Z             },
2026-06-08T23:22:37.9060482Z             {
2026-06-08T23:22:37.9060886Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-08T23:22:37.9061182Z               "line": 113
2026-06-08T23:22:37.9061468Z             },
2026-06-08T23:22:37.9061758Z             {
2026-06-08T23:22:37.9062159Z               "path": "crates/spt-net/src/net/serveprobe.rs",
2026-06-08T23:22:37.9062465Z               "line": 25
2026-06-08T23:22:37.9062742Z             },
2026-06-08T23:22:37.9063030Z             {
2026-06-08T23:22:37.9063439Z               "path": "crates/spt-net/src/net/serveprobe.rs",
2026-06-08T23:22:37.9063734Z               "line": 34
2026-06-08T23:22:37.9064021Z             },
2026-06-08T23:22:37.9064301Z             {
2026-06-08T23:22:37.9064754Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-08T23:22:37.9065064Z               "line": 17
2026-06-08T23:22:37.9065351Z             },
2026-06-08T23:22:37.9065635Z             {
2026-06-08T23:22:37.9065982Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.9066287Z               "line": 2650
2026-06-08T23:22:37.9070184Z             },
2026-06-08T23:22:37.9070503Z             {
2026-06-08T23:22:37.9070851Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.9071150Z               "line": 3050
2026-06-08T23:22:37.9071427Z             },
2026-06-08T23:22:37.9071709Z             {
2026-06-08T23:22:37.9072076Z               "path": "crates/spt/src/wansend.rs",
2026-06-08T23:22:37.9072386Z               "line": 419
2026-06-08T23:22:37.9072672Z             }
2026-06-08T23:22:37.9072949Z           ]
2026-06-08T23:22:37.9073234Z         },
2026-06-08T23:22:37.9073514Z         "int": {
2026-06-08T23:22:37.9073817Z           "complete": true,
2026-06-08T23:22:37.9074112Z           "evidence": [
2026-06-08T23:22:37.9074394Z             {
2026-06-08T23:22:37.9074809Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-08T23:22:37.9075104Z               "line": 813
2026-06-08T23:22:37.9075386Z             }
2026-06-08T23:22:37.9075662Z           ]
2026-06-08T23:22:37.9075944Z         },
2026-06-08T23:22:37.9076228Z         "unit": {
2026-06-08T23:22:37.9076537Z           "complete": true,
2026-06-08T23:22:37.9076833Z           "evidence": [
2026-06-08T23:22:37.9077209Z             {
2026-06-08T23:22:37.9077600Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-08T23:22:37.9077895Z               "line": 341
2026-06-08T23:22:37.9078177Z             },
2026-06-08T23:22:37.9078468Z             {
2026-06-08T23:22:37.9078879Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-08T23:22:37.9079175Z               "line": 151
2026-06-08T23:22:37.9079452Z             },
2026-06-08T23:22:37.9079738Z             {
2026-06-08T23:22:37.9080152Z               "path": "crates/spt-net/src/net/serveprobe.rs",
2026-06-08T23:22:37.9080453Z               "line": 61
2026-06-08T23:22:37.9080730Z             },
2026-06-08T23:22:37.9081011Z             {
2026-06-08T23:22:37.9081406Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-08T23:22:37.9081706Z               "line": 111
2026-06-08T23:22:37.9081988Z             },
2026-06-08T23:22:37.9082269Z             {
2026-06-08T23:22:37.9082674Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-08T23:22:37.9082965Z               "line": 138
2026-06-08T23:22:37.9083237Z             },
2026-06-08T23:22:37.9083528Z             {
2026-06-08T23:22:37.9083914Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-08T23:22:37.9084358Z               "line": 148
2026-06-08T23:22:37.9084640Z             },
2026-06-08T23:22:37.9084921Z             {
2026-06-08T23:22:37.9085259Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.9085550Z               "line": 6305
2026-06-08T23:22:37.9085937Z             }
2026-06-08T23:22:37.9086217Z           ]
2026-06-08T23:22:37.9086499Z         }
2026-06-08T23:22:37.9086775Z       }
2026-06-08T23:22:37.9087126Z     },
2026-06-08T23:22:37.9087407Z     {
2026-06-08T23:22:37.9087713Z       "id": "REQ-SUBNET-6",
2026-06-08T23:22:37.9089983Z       "title": "Trust lifecycle verbs, elevation-gated: spt subnet leave <NAME> (membership exit) and spt subnet prune <node> (removes a dead identity's trust + registry rows, killing its dead dials; trust mutation = security surface, REQ-PAIR-6 gate machinery) (M8 decisions 6-7)",
2026-06-08T23:22:37.9090298Z       "requiredStages": [
2026-06-08T23:22:37.9090580Z         "impl",
2026-06-08T23:22:37.9090870Z         "unit"
2026-06-08T23:22:37.9091146Z       ],
2026-06-08T23:22:37.9091437Z       "stages": {
2026-06-08T23:22:37.9091717Z         "doc": {
2026-06-08T23:22:37.9092028Z           "complete": false,
2026-06-08T23:22:37.9092328Z           "evidence": []
2026-06-08T23:22:37.9092610Z         },
2026-06-08T23:22:37.9092915Z         "impl": {
2026-06-08T23:22:37.9093224Z           "complete": true,
2026-06-08T23:22:37.9093525Z           "evidence": [
2026-06-08T23:22:37.9093802Z             {
2026-06-08T23:22:37.9094207Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.9094503Z               "line": 238
2026-06-08T23:22:37.9094782Z             },
2026-06-08T23:22:37.9095066Z             {
2026-06-08T23:22:37.9095415Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.9095715Z               "line": 2865
2026-06-08T23:22:37.9095992Z             },
2026-06-08T23:22:37.9096273Z             {
2026-06-08T23:22:37.9096621Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.9096921Z               "line": 2882
2026-06-08T23:22:37.9097287Z             },
2026-06-08T23:22:37.9097556Z             {
2026-06-08T23:22:37.9097900Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.9098200Z               "line": 2935
2026-06-08T23:22:37.9098481Z             },
2026-06-08T23:22:37.9098772Z             {
2026-06-08T23:22:37.9099111Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.9099411Z               "line": 2958
2026-06-08T23:22:37.9099687Z             }
2026-06-08T23:22:37.9099971Z           ]
2026-06-08T23:22:37.9100243Z         },
2026-06-08T23:22:37.9100529Z         "int": {
2026-06-08T23:22:37.9100849Z           "complete": false,
2026-06-08T23:22:37.9101145Z           "evidence": []
2026-06-08T23:22:37.9101430Z         },
2026-06-08T23:22:37.9101711Z         "unit": {
2026-06-08T23:22:37.9102016Z           "complete": true,
2026-06-08T23:22:37.9102307Z           "evidence": [
2026-06-08T23:22:37.9102593Z             {
2026-06-08T23:22:37.9102940Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.9103236Z               "line": 6319
2026-06-08T23:22:37.9103518Z             },
2026-06-08T23:22:37.9103799Z             {
2026-06-08T23:22:37.9104142Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.9104438Z               "line": 6338
2026-06-08T23:22:37.9104729Z             },
2026-06-08T23:22:37.9105011Z             {
2026-06-08T23:22:37.9105352Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.9105651Z               "line": 6347
2026-06-08T23:22:37.9105932Z             }
2026-06-08T23:22:37.9106213Z           ]
2026-06-08T23:22:37.9106489Z         }
2026-06-08T23:22:37.9106771Z       }
2026-06-08T23:22:37.9107123Z     },
2026-06-08T23:22:37.9107391Z     {
2026-06-08T23:22:37.9107700Z       "id": "REQ-SUBNET-7",
2026-06-08T23:22:37.9112510Z       "title": "Per-machine re-pair trust overwrite: registry rows carry a hashed stable machine identifier (OS machine id /etc/machine-id|MachineGuid, domain-separated SHA-256 before gossip, spt-minted persisted UUID fallback; additive serde-default field — old rows parse clean); a COMPLETED pairing ceremony presenting the same node label AND machine id as an existing trusted row evicts the superseded identity's trust + registry rows on the seed-holder and replicates the eviction; a gossiped claim alone never evicts trust (M8 decisions 13, 22)",
2026-06-08T23:22:37.9113096Z       "requiredStages": [
2026-06-08T23:22:37.9113387Z         "impl",
2026-06-08T23:22:37.9113668Z         "unit"
2026-06-08T23:22:37.9113950Z       ],
2026-06-08T23:22:37.9114230Z       "stages": {
2026-06-08T23:22:37.9114516Z         "doc": {
2026-06-08T23:22:37.9114816Z           "complete": false,
2026-06-08T23:22:37.9115122Z           "evidence": []
2026-06-08T23:22:37.9115402Z         },
2026-06-08T23:22:37.9115688Z         "impl": {
2026-06-08T23:22:37.9115991Z           "complete": true,
2026-06-08T23:22:37.9116287Z           "evidence": [
2026-06-08T23:22:37.9116597Z             {
2026-06-08T23:22:37.9117088Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-08T23:22:37.9117383Z               "line": 17
2026-06-08T23:22:37.9117679Z             },
2026-06-08T23:22:37.9117956Z             {
2026-06-08T23:22:37.9118350Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-08T23:22:37.9118657Z               "line": 103
2026-06-08T23:22:37.9118948Z             },
2026-06-08T23:22:37.9119225Z             {
2026-06-08T23:22:37.9119621Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-08T23:22:37.9119911Z               "line": 312
2026-06-08T23:22:37.9120184Z             },
2026-06-08T23:22:37.9120465Z             {
2026-06-08T23:22:37.9120855Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-08T23:22:37.9121153Z               "line": 345
2026-06-08T23:22:37.9121426Z             },
2026-06-08T23:22:37.9121692Z             {
2026-06-08T23:22:37.9122116Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.9122422Z               "line": 160
2026-06-08T23:22:37.9122707Z             },
2026-06-08T23:22:37.9122985Z             {
2026-06-08T23:22:37.9123398Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.9123693Z               "line": 417
2026-06-08T23:22:37.9123976Z             },
2026-06-08T23:22:37.9124266Z             {
2026-06-08T23:22:37.9124680Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.9124981Z               "line": 590
2026-06-08T23:22:37.9125257Z             },
2026-06-08T23:22:37.9125548Z             {
2026-06-08T23:22:37.9125968Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.9126263Z               "line": 630
2026-06-08T23:22:37.9126551Z             },
2026-06-08T23:22:37.9126823Z             {
2026-06-08T23:22:37.9127318Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.9127610Z               "line": 686
2026-06-08T23:22:37.9127905Z             },
2026-06-08T23:22:37.9128192Z             {
2026-06-08T23:22:37.9128602Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-08T23:22:37.9128900Z               "line": 136
2026-06-08T23:22:37.9129180Z             },
2026-06-08T23:22:37.9129466Z             {
2026-06-08T23:22:37.9129866Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.9130166Z               "line": 139
2026-06-08T23:22:37.9130453Z             }
2026-06-08T23:22:37.9130729Z           ]
2026-06-08T23:22:37.9131006Z         },
2026-06-08T23:22:37.9131288Z         "int": {
2026-06-08T23:22:37.9131591Z           "complete": false,
2026-06-08T23:22:37.9131890Z           "evidence": []
2026-06-08T23:22:37.9132166Z         },
2026-06-08T23:22:37.9132448Z         "unit": {
2026-06-08T23:22:37.9132743Z           "complete": true,
2026-06-08T23:22:37.9133038Z           "evidence": [
2026-06-08T23:22:37.9133306Z             {
2026-06-08T23:22:37.9133706Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-08T23:22:37.9134108Z               "line": 136
2026-06-08T23:22:37.9134382Z             },
2026-06-08T23:22:37.9134654Z             {
2026-06-08T23:22:37.9135046Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-08T23:22:37.9135336Z               "line": 156
2026-06-08T23:22:37.9135704Z             },
2026-06-08T23:22:37.9135980Z             {
2026-06-08T23:22:37.9136401Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.9136692Z               "line": 905
2026-06-08T23:22:37.9137047Z             },
2026-06-08T23:22:37.9137322Z             {
2026-06-08T23:22:37.9137732Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-08T23:22:37.9138027Z               "line": 927
2026-06-08T23:22:37.9138328Z             },
2026-06-08T23:22:37.9138610Z             {
2026-06-08T23:22:37.9139028Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-08T23:22:37.9139333Z               "line": 1418
2026-06-08T23:22:37.9139618Z             },
2026-06-08T23:22:37.9139903Z             {
2026-06-08T23:22:37.9140294Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-08T23:22:37.9140594Z               "line": 985
2026-06-08T23:22:37.9140880Z             }
2026-06-08T23:22:37.9141158Z           ]
2026-06-08T23:22:37.9141453Z         }
2026-06-08T23:22:37.9141729Z       }
2026-06-08T23:22:37.9142008Z     },
2026-06-08T23:22:37.9142293Z     {
2026-06-08T23:22:37.9142602Z       "id": "REQ-SUBNET-8",
2026-06-08T23:22:37.9145815Z       "title": "Status render honesty: zero-subnet text is daemon-aware ('No subnets registered — this node is standalone.' + daemon-running-dependent blurb, never implying messaging works while the daemon is down); hint footer prints on bare spt subnet only (status drops it); a stalled pump is surfaced in subnet status, never rendered implied-healthy (M8 decisions 11-12, 23)",
2026-06-08T23:22:37.9146144Z       "requiredStages": [
2026-06-08T23:22:37.9146431Z         "impl",
2026-06-08T23:22:37.9146730Z         "unit"
2026-06-08T23:22:37.9147093Z       ],
2026-06-08T23:22:37.9147407Z       "stages": {
2026-06-08T23:22:37.9147691Z         "doc": {
2026-06-08T23:22:37.9148011Z           "complete": false,
2026-06-08T23:22:37.9148302Z           "evidence": []
2026-06-08T23:22:37.9148583Z         },
2026-06-08T23:22:37.9148888Z         "impl": {
2026-06-08T23:22:37.9149184Z           "complete": true,
2026-06-08T23:22:37.9149485Z           "evidence": [
2026-06-08T23:22:37.9149761Z             {
2026-06-08T23:22:37.9150107Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.9150396Z               "line": 2332
2026-06-08T23:22:37.9150681Z             },
2026-06-08T23:22:37.9150963Z             {
2026-06-08T23:22:37.9151306Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.9151612Z               "line": 2361
2026-06-08T23:22:37.9151883Z             },
2026-06-08T23:22:37.9152164Z             {
2026-06-08T23:22:37.9152507Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.9152805Z               "line": 2378
2026-06-08T23:22:37.9153092Z             },
2026-06-08T23:22:37.9153373Z             {
2026-06-08T23:22:37.9153721Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.9154021Z               "line": 2746
2026-06-08T23:22:37.9154303Z             }
2026-06-08T23:22:37.9154590Z           ]
2026-06-08T23:22:37.9154875Z         },
2026-06-08T23:22:37.9155156Z         "int": {
2026-06-08T23:22:37.9155474Z           "complete": false,
2026-06-08T23:22:37.9155774Z           "evidence": []
2026-06-08T23:22:37.9156056Z         },
2026-06-08T23:22:37.9156347Z         "unit": {
2026-06-08T23:22:37.9156652Z           "complete": true,
2026-06-08T23:22:37.9157033Z           "evidence": [
2026-06-08T23:22:37.9157315Z             {
2026-06-08T23:22:37.9157663Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.9157967Z               "line": 6495
2026-06-08T23:22:37.9158246Z             }
2026-06-08T23:22:37.9158523Z           ]
2026-06-08T23:22:37.9158918Z         }
2026-06-08T23:22:37.9159205Z       }
2026-06-08T23:22:37.9159486Z     },
2026-06-08T23:22:37.9159768Z     {
2026-06-08T23:22:37.9160073Z       "id": "REQ-TERM-1",
2026-06-08T23:22:37.9160629Z       "title": "Process-supervisor terminal wrapper hosting broker PTYs",
2026-06-08T23:22:37.9161038Z       "requiredStages": [
2026-06-08T23:22:37.9161329Z         "impl",
2026-06-08T23:22:37.9161624Z         "unit"
2026-06-08T23:22:37.9161905Z       ],
2026-06-08T23:22:37.9162196Z       "stages": {
2026-06-08T23:22:37.9162481Z         "doc": {
2026-06-08T23:22:37.9162786Z           "complete": false,
2026-06-08T23:22:37.9163096Z           "evidence": []
2026-06-08T23:22:37.9163375Z         },
2026-06-08T23:22:37.9163657Z         "impl": {
2026-06-08T23:22:37.9163962Z           "complete": true,
2026-06-08T23:22:37.9164262Z           "evidence": [
2026-06-08T23:22:37.9164553Z             {
2026-06-08T23:22:37.9164919Z               "path": "crates/spt-term/src/pty.rs",
2026-06-08T23:22:37.9165220Z               "line": 59
2026-06-08T23:22:37.9165498Z             },
2026-06-08T23:22:37.9165779Z             {
2026-06-08T23:22:37.9166140Z               "path": "crates/spt-term/src/pty.rs",
2026-06-08T23:22:37.9166450Z               "line": 171
2026-06-08T23:22:37.9166736Z             },
2026-06-08T23:22:37.9167098Z             {
2026-06-08T23:22:37.9167479Z               "path": "crates/spt-term/src/surface.rs",
2026-06-08T23:22:37.9167780Z               "line": 100
2026-06-08T23:22:37.9168067Z             }
2026-06-08T23:22:37.9168349Z           ]
2026-06-08T23:22:37.9168632Z         },
2026-06-08T23:22:37.9168915Z         "int": {
2026-06-08T23:22:37.9169225Z           "complete": false,
2026-06-08T23:22:37.9169530Z           "evidence": []
2026-06-08T23:22:37.9169822Z         },
2026-06-08T23:22:37.9170108Z         "unit": {
2026-06-08T23:22:37.9170418Z           "complete": true,
2026-06-08T23:22:37.9170718Z           "evidence": [
2026-06-08T23:22:37.9171009Z             {
2026-06-08T23:22:37.9171411Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-08T23:22:37.9171707Z               "line": 24
2026-06-08T23:22:37.9171989Z             },
2026-06-08T23:22:37.9172270Z             {
2026-06-08T23:22:37.9172661Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-08T23:22:37.9172970Z               "line": 56
2026-06-08T23:22:37.9173270Z             }
2026-06-08T23:22:37.9173548Z           ]
2026-06-08T23:22:37.9173837Z         }
2026-06-08T23:22:37.9174111Z       }
2026-06-08T23:22:37.9174393Z     },
2026-06-08T23:22:37.9174669Z     {
2026-06-08T23:22:37.9174979Z       "id": "REQ-TERM-2",
2026-06-08T23:22:37.9175561Z       "title": "session-surface abstraction; send-keys + send-line injection",
2026-06-08T23:22:37.9175871Z       "requiredStages": [
2026-06-08T23:22:37.9176156Z         "impl",
2026-06-08T23:22:37.9176439Z         "unit"
2026-06-08T23:22:37.9176719Z       ],
2026-06-08T23:22:37.9177082Z       "stages": {
2026-06-08T23:22:37.9177367Z         "doc": {
2026-06-08T23:22:37.9177687Z           "complete": false,
2026-06-08T23:22:37.9177983Z           "evidence": []
2026-06-08T23:22:37.9178270Z         },
2026-06-08T23:22:37.9178555Z         "impl": {
2026-06-08T23:22:37.9178866Z           "complete": true,
2026-06-08T23:22:37.9179163Z           "evidence": [
2026-06-08T23:22:37.9179456Z             {
2026-06-08T23:22:37.9179843Z               "path": "crates/spt-term/src/surface.rs",
2026-06-08T23:22:37.9180144Z               "line": 117
2026-06-08T23:22:37.9180449Z             },
2026-06-08T23:22:37.9180730Z             {
2026-06-08T23:22:37.9181112Z               "path": "crates/spt-term/src/surface.rs",
2026-06-08T23:22:37.9181408Z               "line": 127
2026-06-08T23:22:37.9181697Z             }
2026-06-08T23:22:37.9181990Z           ]
2026-06-08T23:22:37.9182272Z         },
2026-06-08T23:22:37.9182558Z         "int": {
2026-06-08T23:22:37.9182863Z           "complete": false,
2026-06-08T23:22:37.9183173Z           "evidence": []
2026-06-08T23:22:37.9183564Z         },
2026-06-08T23:22:37.9183854Z         "unit": {
2026-06-08T23:22:37.9184164Z           "complete": true,
2026-06-08T23:22:37.9184458Z           "evidence": [
2026-06-08T23:22:37.9184744Z             {
2026-06-08T23:22:37.9185134Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-08T23:22:37.9185524Z               "line": 46
2026-06-08T23:22:37.9185816Z             },
2026-06-08T23:22:37.9186102Z             {
2026-06-08T23:22:37.9186488Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-08T23:22:37.9186784Z               "line": 77
2026-06-08T23:22:37.9187145Z             }
2026-06-08T23:22:37.9187421Z           ]
2026-06-08T23:22:37.9187703Z         }
2026-06-08T23:22:37.9187981Z       }
2026-06-08T23:22:37.9188261Z     },
2026-06-08T23:22:37.9188543Z     {
2026-06-08T23:22:37.9188844Z       "id": "REQ-TERM-3",
2026-06-08T23:22:37.9189300Z       "title": "Byte-stream remote terminal streaming for v1",
2026-06-08T23:22:37.9189609Z       "requiredStages": [
2026-06-08T23:22:37.9189908Z         "impl",
2026-06-08T23:22:37.9190194Z         "unit"
2026-06-08T23:22:37.9190475Z       ],
2026-06-08T23:22:37.9190777Z       "stages": {
2026-06-08T23:22:37.9191067Z         "doc": {
2026-06-08T23:22:37.9191382Z           "complete": false,
2026-06-08T23:22:37.9191682Z           "evidence": []
2026-06-08T23:22:37.9191973Z         },
2026-06-08T23:22:37.9192261Z         "impl": {
2026-06-08T23:22:37.9192569Z           "complete": true,
2026-06-08T23:22:37.9192875Z           "evidence": [
2026-06-08T23:22:37.9193161Z             {
2026-06-08T23:22:37.9193542Z               "path": "crates/spt-term/src/stream.rs",
2026-06-08T23:22:37.9193838Z               "line": 71
2026-06-08T23:22:37.9194119Z             }
2026-06-08T23:22:37.9194405Z           ]
2026-06-08T23:22:37.9194687Z         },
2026-06-08T23:22:37.9194980Z         "int": {
2026-06-08T23:22:37.9195290Z           "complete": false,
2026-06-08T23:22:37.9195599Z           "evidence": []
2026-06-08T23:22:37.9195881Z         },
2026-06-08T23:22:37.9196177Z         "unit": {
2026-06-08T23:22:37.9196487Z           "complete": true,
2026-06-08T23:22:37.9196787Z           "evidence": [
2026-06-08T23:22:37.9197155Z             {
2026-06-08T23:22:37.9197550Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-08T23:22:37.9197849Z               "line": 37
2026-06-08T23:22:37.9198140Z             },
2026-06-08T23:22:37.9198426Z             {
2026-06-08T23:22:37.9198803Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-08T23:22:37.9199094Z               "line": 67
2026-06-08T23:22:37.9199376Z             }
2026-06-08T23:22:37.9199651Z           ]
2026-06-08T23:22:37.9199937Z         }
2026-06-08T23:22:37.9200217Z       }
2026-06-08T23:22:37.9200492Z     },
2026-06-08T23:22:37.9200764Z     {
2026-06-08T23:22:37.9201069Z       "id": "REQ-TERM-4",
2026-06-08T23:22:37.9202203Z       "title": "Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log",
2026-06-08T23:22:37.9202533Z       "requiredStages": [
2026-06-08T23:22:37.9202817Z         "impl",
2026-06-08T23:22:37.9203101Z         "unit",
2026-06-08T23:22:37.9203387Z         "int"
2026-06-08T23:22:37.9203669Z       ],
2026-06-08T23:22:37.9203959Z       "stages": {
2026-06-08T23:22:37.9204255Z         "doc": {
2026-06-08T23:22:37.9204570Z           "complete": true,
2026-06-08T23:22:37.9204871Z           "evidence": [
2026-06-08T23:22:37.9205153Z             {
2026-06-08T23:22:37.9205489Z               "path": "docs/MANIFEST.md",
2026-06-08T23:22:37.9205782Z               "line": 115
2026-06-08T23:22:37.9206059Z             }
2026-06-08T23:22:37.9206344Z           ]
2026-06-08T23:22:37.9206636Z         },
2026-06-08T23:22:37.9206931Z         "impl": {
2026-06-08T23:22:37.9207338Z           "complete": true,
2026-06-08T23:22:37.9207637Z           "evidence": [
2026-06-08T23:22:37.9207919Z             {
2026-06-08T23:22:37.9208299Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-08T23:22:37.9208715Z               "line": 507
2026-06-08T23:22:37.9208996Z             },
2026-06-08T23:22:37.9209287Z             {
2026-06-08T23:22:37.9209692Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-08T23:22:37.9209988Z               "line": 41
2026-06-08T23:22:37.9210270Z             },
2026-06-08T23:22:37.9210665Z             {
2026-06-08T23:22:37.9211062Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-08T23:22:37.9211362Z               "line": 91
2026-06-08T23:22:37.9211653Z             },
2026-06-08T23:22:37.9211939Z             {
2026-06-08T23:22:37.9212335Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-08T23:22:37.9212630Z               "line": 152
2026-06-08T23:22:37.9212912Z             },
2026-06-08T23:22:37.9213199Z             {
2026-06-08T23:22:37.9213586Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-08T23:22:37.9213891Z               "line": 221
2026-06-08T23:22:37.9214167Z             },
2026-06-08T23:22:37.9214454Z             {
2026-06-08T23:22:37.9214853Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-08T23:22:37.9215154Z               "line": 20
2026-06-08T23:22:37.9215446Z             },
2026-06-08T23:22:37.9215728Z             {
2026-06-08T23:22:37.9216124Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-08T23:22:37.9216430Z               "line": 222
2026-06-08T23:22:37.9216715Z             },
2026-06-08T23:22:37.9217101Z             {
2026-06-08T23:22:37.9217510Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-08T23:22:37.9217811Z               "line": 242
2026-06-08T23:22:37.9218097Z             },
2026-06-08T23:22:37.9218383Z             {
2026-06-08T23:22:37.9218778Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-08T23:22:37.9219078Z               "line": 625
2026-06-08T23:22:37.9219365Z             },
2026-06-08T23:22:37.9219652Z             {
2026-06-08T23:22:37.9220027Z               "path": "crates/spt-term/src/digest.rs",
2026-06-08T23:22:37.9220337Z               "line": 162
2026-06-08T23:22:37.9220623Z             },
2026-06-08T23:22:37.9220910Z             {
2026-06-08T23:22:37.9221286Z               "path": "crates/spt-term/src/digest.rs",
2026-06-08T23:22:37.9221589Z               "line": 206
2026-06-08T23:22:37.9221875Z             },
2026-06-08T23:22:37.9222170Z             {
2026-06-08T23:22:37.9222546Z               "path": "crates/spt-term/src/digest.rs",
2026-06-08T23:22:37.9222852Z               "line": 233
2026-06-08T23:22:37.9223133Z             },
2026-06-08T23:22:37.9223425Z             {
2026-06-08T23:22:37.9223777Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.9224076Z               "line": 796
2026-06-08T23:22:37.9224365Z             }
2026-06-08T23:22:37.9224646Z           ]
2026-06-08T23:22:37.9224932Z         },
2026-06-08T23:22:37.9225218Z         "int": {
2026-06-08T23:22:37.9225518Z           "complete": true,
2026-06-08T23:22:37.9225823Z           "evidence": [
2026-06-08T23:22:37.9226100Z             {
2026-06-08T23:22:37.9226495Z               "path": "crates/spt-daemon/tests/digest.rs",
2026-06-08T23:22:37.9226783Z               "line": 18
2026-06-08T23:22:37.9227136Z             }
2026-06-08T23:22:37.9227417Z           ]
2026-06-08T23:22:37.9227704Z         },
2026-06-08T23:22:37.9227990Z         "unit": {
2026-06-08T23:22:37.9228300Z           "complete": true,
2026-06-08T23:22:37.9228600Z           "evidence": [
2026-06-08T23:22:37.9228878Z             {
2026-06-08T23:22:37.9229272Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-08T23:22:37.9229578Z               "line": 259
2026-06-08T23:22:37.9229863Z             },
2026-06-08T23:22:37.9230154Z             {
2026-06-08T23:22:37.9230545Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-08T23:22:37.9230855Z               "line": 277
2026-06-08T23:22:37.9231136Z             },
2026-06-08T23:22:37.9231423Z             {
2026-06-08T23:22:37.9231808Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-08T23:22:37.9232215Z               "line": 289
2026-06-08T23:22:37.9232510Z             },
2026-06-08T23:22:37.9232793Z             {
2026-06-08T23:22:37.9233183Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-08T23:22:37.9233483Z               "line": 304
2026-06-08T23:22:37.9233869Z             },
2026-06-08T23:22:37.9234151Z             {
2026-06-08T23:22:37.9234545Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-08T23:22:37.9234839Z               "line": 320
2026-06-08T23:22:37.9235120Z             },
2026-06-08T23:22:37.9235406Z             {
2026-06-08T23:22:37.9235792Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-08T23:22:37.9236088Z               "line": 346
2026-06-08T23:22:37.9236375Z             },
2026-06-08T23:22:37.9236655Z             {
2026-06-08T23:22:37.9237122Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-08T23:22:37.9237419Z               "line": 361
2026-06-08T23:22:37.9237701Z             },
2026-06-08T23:22:37.9237987Z             {
2026-06-08T23:22:37.9238374Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-08T23:22:37.9238674Z               "line": 391
2026-06-08T23:22:37.9238955Z             },
2026-06-08T23:22:37.9239237Z             {
2026-06-08T23:22:37.9239638Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-08T23:22:37.9239946Z               "line": 365
2026-06-08T23:22:37.9240232Z             },
2026-06-08T23:22:37.9240513Z             {
2026-06-08T23:22:37.9240909Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-08T23:22:37.9241219Z               "line": 382
2026-06-08T23:22:37.9241505Z             },
2026-06-08T23:22:37.9241787Z             {
2026-06-08T23:22:37.9242183Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-08T23:22:37.9242482Z               "line": 411
2026-06-08T23:22:37.9242775Z             },
2026-06-08T23:22:37.9243061Z             {
2026-06-08T23:22:37.9243457Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-08T23:22:37.9243757Z               "line": 428
2026-06-08T23:22:37.9244048Z             },
2026-06-08T23:22:37.9244330Z             {
2026-06-08T23:22:37.9244726Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-08T23:22:37.9245029Z               "line": 828
2026-06-08T23:22:37.9245328Z             },
2026-06-08T23:22:37.9245609Z             {
2026-06-08T23:22:37.9246009Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-08T23:22:37.9246305Z               "line": 835
2026-06-08T23:22:37.9246591Z             },
2026-06-08T23:22:37.9246872Z             {
2026-06-08T23:22:37.9247360Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-08T23:22:37.9247667Z               "line": 850
2026-06-08T23:22:37.9247951Z             },
2026-06-08T23:22:37.9248232Z             {
2026-06-08T23:22:37.9248610Z               "path": "crates/spt-term/src/digest.rs",
2026-06-08T23:22:37.9248910Z               "line": 420
2026-06-08T23:22:37.9249196Z             },
2026-06-08T23:22:37.9249473Z             {
2026-06-08T23:22:37.9249840Z               "path": "crates/spt-term/src/digest.rs",
2026-06-08T23:22:37.9250130Z               "line": 458
2026-06-08T23:22:37.9250416Z             },
2026-06-08T23:22:37.9250698Z             {
2026-06-08T23:22:37.9251069Z               "path": "crates/spt-term/src/digest.rs",
2026-06-08T23:22:37.9251370Z               "line": 471
2026-06-08T23:22:37.9251646Z             },
2026-06-08T23:22:37.9251928Z             {
2026-06-08T23:22:37.9252281Z               "path": "crates/spt-term/src/digest.rs",
2026-06-08T23:22:37.9252572Z               "line": 497
2026-06-08T23:22:37.9252854Z             },
2026-06-08T23:22:37.9253128Z             {
2026-06-08T23:22:37.9253494Z               "path": "crates/spt-term/src/digest.rs",
2026-06-08T23:22:37.9253789Z               "line": 524
2026-06-08T23:22:37.9254075Z             },
2026-06-08T23:22:37.9254356Z             {
2026-06-08T23:22:37.9254733Z               "path": "crates/spt-term/tests/digest.rs",
2026-06-08T23:22:37.9255129Z               "line": 32
2026-06-08T23:22:37.9255426Z             },
2026-06-08T23:22:37.9255699Z             {
2026-06-08T23:22:37.9256046Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.9256351Z               "line": 6077
2026-06-08T23:22:37.9256727Z             }
2026-06-08T23:22:37.9257085Z           ]
2026-06-08T23:22:37.9257357Z         }
2026-06-08T23:22:37.9257634Z       }
2026-06-08T23:22:37.9257911Z     },
2026-06-08T23:22:37.9258194Z     {
2026-06-08T23:22:37.9258502Z       "id": "REQ-UPD-1",
2026-06-08T23:22:37.9258879Z       "title": "Peer-propagated update over P2P",
2026-06-08T23:22:37.9259194Z       "requiredStages": [
2026-06-08T23:22:37.9259479Z         "impl",
2026-06-08T23:22:37.9259775Z         "unit",
2026-06-08T23:22:37.9260062Z         "int"
2026-06-08T23:22:37.9260347Z       ],
2026-06-08T23:22:37.9260647Z       "stages": {
2026-06-08T23:22:37.9260929Z         "doc": {
2026-06-08T23:22:37.9261239Z           "complete": false,
2026-06-08T23:22:37.9261544Z           "evidence": []
2026-06-08T23:22:37.9261830Z         },
2026-06-08T23:22:37.9262116Z         "impl": {
2026-06-08T23:22:37.9262427Z           "complete": true,
2026-06-08T23:22:37.9262737Z           "evidence": [
2026-06-08T23:22:37.9263017Z             {
2026-06-08T23:22:37.9263428Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-08T23:22:37.9263721Z               "line": 28
2026-06-08T23:22:37.9264006Z             },
2026-06-08T23:22:37.9264291Z             {
2026-06-08T23:22:37.9264693Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-08T23:22:37.9264998Z               "line": 103
2026-06-08T23:22:37.9265279Z             },
2026-06-08T23:22:37.9265565Z             {
2026-06-08T23:22:37.9265971Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-08T23:22:37.9266274Z               "line": 342
2026-06-08T23:22:37.9266558Z             },
2026-06-08T23:22:37.9266839Z             {
2026-06-08T23:22:37.9267320Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-08T23:22:37.9267635Z               "line": 22
2026-06-08T23:22:37.9267922Z             },
2026-06-08T23:22:37.9268199Z             {
2026-06-08T23:22:37.9268589Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-08T23:22:37.9268893Z               "line": 117
2026-06-08T23:22:37.9269178Z             },
2026-06-08T23:22:37.9269463Z             {
2026-06-08T23:22:37.9269854Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-08T23:22:37.9270155Z               "line": 150
2026-06-08T23:22:37.9270437Z             },
2026-06-08T23:22:37.9270723Z             {
2026-06-08T23:22:37.9271118Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-08T23:22:37.9271424Z               "line": 207
2026-06-08T23:22:37.9271713Z             },
2026-06-08T23:22:37.9271994Z             {
2026-06-08T23:22:37.9272385Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-08T23:22:37.9272682Z               "line": 37
2026-06-08T23:22:37.9272977Z             }
2026-06-08T23:22:37.9273263Z           ]
2026-06-08T23:22:37.9273543Z         },
2026-06-08T23:22:37.9273835Z         "int": {
2026-06-08T23:22:37.9274138Z           "complete": true,
2026-06-08T23:22:37.9274446Z           "evidence": [
2026-06-08T23:22:37.9274733Z             {
2026-06-08T23:22:37.9275147Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-08T23:22:37.9275457Z               "line": 207
2026-06-08T23:22:37.9275738Z             },
2026-06-08T23:22:37.9276020Z             {
2026-06-08T23:22:37.9276415Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-08T23:22:37.9276724Z               "line": 985
2026-06-08T23:22:37.9277070Z             }
2026-06-08T23:22:37.9277356Z           ]
2026-06-08T23:22:37.9277642Z         },
2026-06-08T23:22:37.9277929Z         "unit": {
2026-06-08T23:22:37.9278239Z           "complete": true,
2026-06-08T23:22:37.9278534Z           "evidence": [
2026-06-08T23:22:37.9278939Z             {
2026-06-08T23:22:37.9279329Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-08T23:22:37.9279627Z               "line": 310
2026-06-08T23:22:37.9279904Z             },
2026-06-08T23:22:37.9280181Z             {
2026-06-08T23:22:37.9280571Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-08T23:22:37.9280963Z               "line": 333
2026-06-08T23:22:37.9281249Z             },
2026-06-08T23:22:37.9281535Z             {
2026-06-08T23:22:37.9281946Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-08T23:22:37.9282249Z               "line": 275
2026-06-08T23:22:37.9282530Z             },
2026-06-08T23:22:37.9285565Z             {
2026-06-08T23:22:37.9285993Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-08T23:22:37.9286308Z               "line": 124
2026-06-08T23:22:37.9286590Z             },
2026-06-08T23:22:37.9286875Z             {
2026-06-08T23:22:37.9287356Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-08T23:22:37.9287668Z               "line": 200
2026-06-08T23:22:37.9287949Z             }
2026-06-08T23:22:37.9288235Z           ]
2026-06-08T23:22:37.9288517Z         }
2026-06-08T23:22:37.9288794Z       }
2026-06-08T23:22:37.9289075Z     },
2026-06-08T23:22:37.9289358Z     {
2026-06-08T23:22:37.9289653Z       "id": "REQ-UPD-2",
2026-06-08T23:22:37.9290135Z       "title": "All binaries signature-verified before handoff",
2026-06-08T23:22:37.9290440Z       "requiredStages": [
2026-06-08T23:22:37.9290727Z         "impl",
2026-06-08T23:22:37.9291012Z         "unit"
2026-06-08T23:22:37.9291295Z       ],
2026-06-08T23:22:37.9291581Z       "stages": {
2026-06-08T23:22:37.9291867Z         "doc": {
2026-06-08T23:22:37.9292177Z           "complete": false,
2026-06-08T23:22:37.9292463Z           "evidence": []
2026-06-08T23:22:37.9292738Z         },
2026-06-08T23:22:37.9293023Z         "impl": {
2026-06-08T23:22:37.9293319Z           "complete": true,
2026-06-08T23:22:37.9293611Z           "evidence": [
2026-06-08T23:22:37.9293901Z             {
2026-06-08T23:22:37.9294311Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-08T23:22:37.9294611Z               "line": 343
2026-06-08T23:22:37.9294897Z             },
2026-06-08T23:22:37.9295179Z             {
2026-06-08T23:22:37.9295576Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-08T23:22:37.9295881Z               "line": 469
2026-06-08T23:22:37.9296168Z             },
2026-06-08T23:22:37.9296454Z             {
2026-06-08T23:22:37.9296840Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.9297207Z               "line": 29
2026-06-08T23:22:37.9297498Z             },
2026-06-08T23:22:37.9297778Z             {
2026-06-08T23:22:37.9298162Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.9298462Z               "line": 258
2026-06-08T23:22:37.9298748Z             },
2026-06-08T23:22:37.9299030Z             {
2026-06-08T23:22:37.9299416Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.9299721Z               "line": 275
2026-06-08T23:22:37.9300007Z             },
2026-06-08T23:22:37.9300293Z             {
2026-06-08T23:22:37.9300681Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.9300981Z               "line": 395
2026-06-08T23:22:37.9301264Z             },
2026-06-08T23:22:37.9301545Z             {
2026-06-08T23:22:37.9301931Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.9302235Z               "line": 527
2026-06-08T23:22:37.9302522Z             },
2026-06-08T23:22:37.9302799Z             {
2026-06-08T23:22:37.9303189Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-08T23:22:37.9303484Z               "line": 155
2026-06-08T23:22:37.9303771Z             }
2026-06-08T23:22:37.9304052Z           ]
2026-06-08T23:22:37.9304329Z         },
2026-06-08T23:22:37.9304614Z         "int": {
2026-06-08T23:22:37.9304924Z           "complete": false,
2026-06-08T23:22:37.9305220Z           "evidence": []
2026-06-08T23:22:37.9305650Z         },
2026-06-08T23:22:37.9305938Z         "unit": {
2026-06-08T23:22:37.9306242Z           "complete": true,
2026-06-08T23:22:37.9306542Z           "evidence": [
2026-06-08T23:22:37.9306813Z             {
2026-06-08T23:22:37.9307277Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.9307733Z               "line": 682
2026-06-08T23:22:37.9308005Z             },
2026-06-08T23:22:37.9308282Z             {
2026-06-08T23:22:37.9308670Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.9308961Z               "line": 743
2026-06-08T23:22:37.9309242Z             },
2026-06-08T23:22:37.9309514Z             {
2026-06-08T23:22:37.9309905Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.9310205Z               "line": 757
2026-06-08T23:22:37.9310482Z             },
2026-06-08T23:22:37.9310765Z             {
2026-06-08T23:22:37.9311147Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.9311457Z               "line": 773
2026-06-08T23:22:37.9311738Z             },
2026-06-08T23:22:37.9312014Z             {
2026-06-08T23:22:37.9312405Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.9312701Z               "line": 864
2026-06-08T23:22:37.9312988Z             },
2026-06-08T23:22:37.9313264Z             {
2026-06-08T23:22:37.9313655Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-08T23:22:37.9313954Z               "line": 412
2026-06-08T23:22:37.9314230Z             },
2026-06-08T23:22:37.9314501Z             {
2026-06-08T23:22:37.9314884Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-08T23:22:37.9315188Z               "line": 425
2026-06-08T23:22:37.9315465Z             },
2026-06-08T23:22:37.9315746Z             {
2026-06-08T23:22:37.9316163Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-08T23:22:37.9316460Z               "line": 408
2026-06-08T23:22:37.9316734Z             }
2026-06-08T23:22:37.9317102Z           ]
2026-06-08T23:22:37.9317383Z         }
2026-06-08T23:22:37.9317659Z       }
2026-06-08T23:22:37.9317932Z     },
2026-06-08T23:22:37.9318199Z     {
2026-06-08T23:22:37.9318500Z       "id": "REQ-UPD-3",
2026-06-08T23:22:37.9319051Z       "title": "No endpoint process terminates/suspends during self-update",
2026-06-08T23:22:37.9319369Z       "requiredStages": [
2026-06-08T23:22:37.9319654Z         "impl",
2026-06-08T23:22:37.9319945Z         "unit",
2026-06-08T23:22:37.9320221Z         "int"
2026-06-08T23:22:37.9320494Z       ],
2026-06-08T23:22:37.9320779Z       "stages": {
2026-06-08T23:22:37.9321057Z         "doc": {
2026-06-08T23:22:37.9321358Z           "complete": false,
2026-06-08T23:22:37.9321651Z           "evidence": []
2026-06-08T23:22:37.9321930Z         },
2026-06-08T23:22:37.9322211Z         "impl": {
2026-06-08T23:22:37.9322511Z           "complete": true,
2026-06-08T23:22:37.9322803Z           "evidence": [
2026-06-08T23:22:37.9323079Z             {
2026-06-08T23:22:37.9323490Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-08T23:22:37.9323785Z               "line": 39
2026-06-08T23:22:37.9324066Z             },
2026-06-08T23:22:37.9324342Z             {
2026-06-08T23:22:37.9324737Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-08T23:22:37.9325033Z               "line": 71
2026-06-08T23:22:37.9325319Z             },
2026-06-08T23:22:37.9325596Z             {
2026-06-08T23:22:37.9325978Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-08T23:22:37.9326268Z               "line": 26
2026-06-08T23:22:37.9326545Z             },
2026-06-08T23:22:37.9326818Z             {
2026-06-08T23:22:37.9327290Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-08T23:22:37.9327581Z               "line": 114
2026-06-08T23:22:37.9327863Z             },
2026-06-08T23:22:37.9328153Z             {
2026-06-08T23:22:37.9328530Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-08T23:22:37.9328931Z               "line": 246
2026-06-08T23:22:37.9329207Z             },
2026-06-08T23:22:37.9329487Z             {
2026-06-08T23:22:37.9329818Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.9330110Z               "line": 1547
2026-06-08T23:22:37.9330387Z             }
2026-06-08T23:22:37.9330654Z           ]
2026-06-08T23:22:37.9331030Z         },
2026-06-08T23:22:37.9331316Z         "int": {
2026-06-08T23:22:37.9331622Z           "complete": true,
2026-06-08T23:22:37.9331913Z           "evidence": [
2026-06-08T23:22:37.9332192Z             {
2026-06-08T23:22:37.9332630Z               "path": "crates/spt-daemon/tests/brain_swap.rs",
2026-06-08T23:22:37.9332915Z               "line": 23
2026-06-08T23:22:37.9333192Z             }
2026-06-08T23:22:37.9333464Z           ]
2026-06-08T23:22:37.9333745Z         },
2026-06-08T23:22:37.9334021Z         "unit": {
2026-06-08T23:22:37.9334331Z           "complete": true,
2026-06-08T23:22:37.9334631Z           "evidence": [
2026-06-08T23:22:37.9334912Z             {
2026-06-08T23:22:37.9335311Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-08T23:22:37.9335603Z               "line": 393
2026-06-08T23:22:37.9335884Z             },
2026-06-08T23:22:37.9336161Z             {
2026-06-08T23:22:37.9336562Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-08T23:22:37.9336867Z               "line": 461
2026-06-08T23:22:37.9337224Z             },
2026-06-08T23:22:37.9337500Z             {
2026-06-08T23:22:37.9337878Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-08T23:22:37.9338178Z               "line": 271
2026-06-08T23:22:37.9338455Z             },
2026-06-08T23:22:37.9338732Z             {
2026-06-08T23:22:37.9339119Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-08T23:22:37.9339405Z               "line": 295
2026-06-08T23:22:37.9339691Z             },
2026-06-08T23:22:37.9339963Z             {
2026-06-08T23:22:37.9340351Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-08T23:22:37.9340655Z               "line": 316
2026-06-08T23:22:37.9340937Z             },
2026-06-08T23:22:37.9341214Z             {
2026-06-08T23:22:37.9341600Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-08T23:22:37.9341886Z               "line": 332
2026-06-08T23:22:37.9342159Z             }
2026-06-08T23:22:37.9342440Z           ]
2026-06-08T23:22:37.9342719Z         }
2026-06-08T23:22:37.9342984Z       }
2026-06-08T23:22:37.9343255Z     },
2026-06-08T23:22:37.9343509Z     {
2026-06-08T23:22:37.9343809Z       "id": "REQ-UPD-4",
2026-06-08T23:22:37.9344391Z       "title": "Update gated on user confirmation by default; opt-in full-auto",
2026-06-08T23:22:37.9344706Z       "requiredStages": [
2026-06-08T23:22:37.9344992Z         "impl",
2026-06-08T23:22:37.9345269Z         "unit"
2026-06-08T23:22:37.9345548Z       ],
2026-06-08T23:22:37.9345839Z       "stages": {
2026-06-08T23:22:37.9346120Z         "doc": {
2026-06-08T23:22:37.9346426Z           "complete": false,
2026-06-08T23:22:37.9346731Z           "evidence": []
2026-06-08T23:22:37.9347088Z         },
2026-06-08T23:22:37.9347379Z         "impl": {
2026-06-08T23:22:37.9347684Z           "complete": true,
2026-06-08T23:22:37.9347980Z           "evidence": [
2026-06-08T23:22:37.9348260Z             {
2026-06-08T23:22:37.9348658Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-08T23:22:37.9348959Z               "line": 40
2026-06-08T23:22:37.9349245Z             },
2026-06-08T23:22:37.9349527Z             {
2026-06-08T23:22:37.9349922Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-08T23:22:37.9350217Z               "line": 72
2026-06-08T23:22:37.9350495Z             },
2026-06-08T23:22:37.9350775Z             {
2026-06-08T23:22:37.9351164Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-08T23:22:37.9351459Z               "line": 23
2026-06-08T23:22:37.9351731Z             },
2026-06-08T23:22:37.9352013Z             {
2026-06-08T23:22:37.9352404Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-08T23:22:37.9352803Z               "line": 56
2026-06-08T23:22:37.9353080Z             },
2026-06-08T23:22:37.9353360Z             {
2026-06-08T23:22:37.9353750Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-08T23:22:37.9354045Z               "line": 77
2026-06-08T23:22:37.9354422Z             },
2026-06-08T23:22:37.9354703Z             {
2026-06-08T23:22:37.9355103Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-08T23:22:37.9355394Z               "line": 184
2026-06-08T23:22:37.9355671Z             },
2026-06-08T23:22:37.9355948Z             {
2026-06-08T23:22:37.9356319Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-08T23:22:37.9356615Z               "line": 101
2026-06-08T23:22:37.9356886Z             },
2026-06-08T23:22:37.9357248Z             {
2026-06-08T23:22:37.9357610Z               "path": "crates/spt-store/src/info.rs",
2026-06-08T23:22:37.9357910Z               "line": 170
2026-06-08T23:22:37.9358193Z             },
2026-06-08T23:22:37.9358470Z             {
2026-06-08T23:22:37.9358816Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.9359110Z               "line": 1546
2026-06-08T23:22:37.9359391Z             }
2026-06-08T23:22:37.9359672Z           ]
2026-06-08T23:22:37.9359953Z         },
2026-06-08T23:22:37.9360239Z         "int": {
2026-06-08T23:22:37.9360544Z           "complete": false,
2026-06-08T23:22:37.9360845Z           "evidence": []
2026-06-08T23:22:37.9361120Z         },
2026-06-08T23:22:37.9361405Z         "unit": {
2026-06-08T23:22:37.9361705Z           "complete": true,
2026-06-08T23:22:37.9362005Z           "evidence": [
2026-06-08T23:22:37.9362287Z             {
2026-06-08T23:22:37.9362687Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-08T23:22:37.9362978Z               "line": 389
2026-06-08T23:22:37.9363255Z             },
2026-06-08T23:22:37.9363532Z             {
2026-06-08T23:22:37.9363934Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-08T23:22:37.9364234Z               "line": 514
2026-06-08T23:22:37.9364510Z             },
2026-06-08T23:22:37.9364786Z             {
2026-06-08T23:22:37.9365164Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-08T23:22:37.9365455Z               "line": 384
2026-06-08T23:22:37.9365736Z             },
2026-06-08T23:22:37.9366021Z             {
2026-06-08T23:22:37.9366404Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-08T23:22:37.9366697Z               "line": 102
2026-06-08T23:22:37.9367050Z             },
2026-06-08T23:22:37.9367341Z             {
2026-06-08T23:22:37.9367723Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-08T23:22:37.9368019Z               "line": 123
2026-06-08T23:22:37.9368304Z             },
2026-06-08T23:22:37.9368581Z             {
2026-06-08T23:22:37.9368959Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-08T23:22:37.9369251Z               "line": 142
2026-06-08T23:22:37.9369526Z             },
2026-06-08T23:22:37.9369812Z             {
2026-06-08T23:22:37.9370179Z               "path": "crates/spt-store/src/info.rs",
2026-06-08T23:22:37.9370470Z               "line": 386
2026-06-08T23:22:37.9370738Z             },
2026-06-08T23:22:37.9371009Z             {
2026-06-08T23:22:37.9371381Z               "path": "crates/spt-store/src/perch.rs",
2026-06-08T23:22:37.9371681Z               "line": 546
2026-06-08T23:22:37.9371947Z             },
2026-06-08T23:22:37.9372227Z             {
2026-06-08T23:22:37.9372561Z               "path": "crates/spt/src/cli.rs",
2026-06-08T23:22:37.9372847Z               "line": 4926
2026-06-08T23:22:37.9373119Z             }
2026-06-08T23:22:37.9373390Z           ]
2026-06-08T23:22:37.9373671Z         }
2026-06-08T23:22:37.9373938Z       }
2026-06-08T23:22:37.9374214Z     },
2026-06-08T23:22:37.9374495Z     {
2026-06-08T23:22:37.9374799Z       "id": "REQ-UPD-5",
2026-06-08T23:22:37.9375251Z       "title": "spt-core ripple-updates registered adapters",
2026-06-08T23:22:37.9375666Z       "requiredStages": [
2026-06-08T23:22:37.9375951Z         "impl",
2026-06-08T23:22:37.9376233Z         "unit"
2026-06-08T23:22:37.9376509Z       ],
2026-06-08T23:22:37.9376795Z       "stages": {
2026-06-08T23:22:37.9377162Z         "doc": {
2026-06-08T23:22:37.9377472Z           "complete": false,
2026-06-08T23:22:37.9377867Z           "evidence": []
2026-06-08T23:22:37.9378149Z         },
2026-06-08T23:22:37.9378430Z         "impl": {
2026-06-08T23:22:37.9378730Z           "complete": true,
2026-06-08T23:22:37.9379026Z           "evidence": [
2026-06-08T23:22:37.9379304Z             {
2026-06-08T23:22:37.9379731Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-08T23:22:37.9380034Z               "line": 27
2026-06-08T23:22:37.9380316Z             },
2026-06-08T23:22:37.9380592Z             {
2026-06-08T23:22:37.9381016Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-08T23:22:37.9381307Z               "line": 82
2026-06-08T23:22:37.9381588Z             },
2026-06-08T23:22:37.9381875Z             {
2026-06-08T23:22:37.9382298Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-08T23:22:37.9382591Z               "line": 134
2026-06-08T23:22:37.9382868Z             },
2026-06-08T23:22:37.9383149Z             {
2026-06-08T23:22:37.9383540Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.9383836Z               "line": 479
2026-06-08T23:22:37.9384122Z             },
2026-06-08T23:22:37.9384400Z             {
2026-06-08T23:22:37.9384789Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.9385078Z               "line": 515
2026-06-08T23:22:37.9385354Z             }
2026-06-08T23:22:37.9385630Z           ]
2026-06-08T23:22:37.9385897Z         },
2026-06-08T23:22:37.9386183Z         "int": {
2026-06-08T23:22:37.9386483Z           "complete": false,
2026-06-08T23:22:37.9386784Z           "evidence": []
2026-06-08T23:22:37.9387122Z         },
2026-06-08T23:22:37.9387413Z         "unit": {
2026-06-08T23:22:37.9387708Z           "complete": true,
2026-06-08T23:22:37.9388003Z           "evidence": [
2026-06-08T23:22:37.9388286Z             {
2026-06-08T23:22:37.9388709Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-08T23:22:37.9389009Z               "line": 231
2026-06-08T23:22:37.9389296Z             },
2026-06-08T23:22:37.9389577Z             {
2026-06-08T23:22:37.9389997Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-08T23:22:37.9390292Z               "line": 245
2026-06-08T23:22:37.9390575Z             },
2026-06-08T23:22:37.9390852Z             {
2026-06-08T23:22:37.9391294Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-08T23:22:37.9391586Z               "line": 259
2026-06-08T23:22:37.9391877Z             },
2026-06-08T23:22:37.9392158Z             {
2026-06-08T23:22:37.9392607Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-08T23:22:37.9392901Z               "line": 273
2026-06-08T23:22:37.9393194Z             },
2026-06-08T23:22:37.9393476Z             {
2026-06-08T23:22:37.9393900Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-08T23:22:37.9394205Z               "line": 307
2026-06-08T23:22:37.9394491Z             },
2026-06-08T23:22:37.9394768Z             {
2026-06-08T23:22:37.9395169Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-08T23:22:37.9395463Z               "line": 792
2026-06-08T23:22:37.9395741Z             }
2026-06-08T23:22:37.9396023Z           ]
2026-06-08T23:22:37.9396296Z         }
2026-06-08T23:22:37.9396582Z       }
2026-06-08T23:22:37.9396854Z     },
2026-06-08T23:22:37.9397207Z     {
2026-06-08T23:22:37.9397521Z       "id": "REQ-UPD-6",
2026-06-08T23:22:37.9400199Z       "title": "Platform-targeted update sets and debug rollout: signed multi-platform update metadata, recipient platform selection, channel-scoped monotonic counters, debug-channel opt-in via release-key overlay, local staging plus pull-based peer propagation, and maintainer-only convergence tooling (ADR-0016)",
2026-06-08T23:22:37.9400644Z       "requiredStages": [
2026-06-08T23:22:37.9400922Z         "doc",
2026-06-08T23:22:37.9401211Z         "impl",
2026-06-08T23:22:37.9401493Z         "unit",
2026-06-08T23:22:37.9401779Z         "int"
2026-06-08T23:22:37.9402056Z       ],
2026-06-08T23:22:37.9402437Z       "stages": {
2026-06-08T23:22:37.9402723Z         "doc": {
2026-06-08T23:22:37.9403028Z           "complete": true,
2026-06-08T23:22:37.9403328Z           "evidence": [
2026-06-08T23:22:37.9403608Z             {
2026-06-08T23:22:37.9403988Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-08T23:22:37.9404284Z               "line": 3
2026-06-08T23:22:37.9404570Z             },
2026-06-08T23:22:37.9404852Z             {
2026-06-08T23:22:37.9405205Z               "path": "docs/DEBUG-ROLLOUT.md",
2026-06-08T23:22:37.9405496Z               "line": 3
2026-06-08T23:22:37.9405782Z             },
2026-06-08T23:22:37.9406061Z             {
2026-06-08T23:22:37.9406541Z               "path": "docs/adr/0016-platform-targeted-update-sets.md",
2026-06-08T23:22:37.9406832Z               "line": 3
2026-06-08T23:22:37.9407189Z             }
2026-06-08T23:22:37.9407480Z           ]
2026-06-08T23:22:37.9407767Z         },
2026-06-08T23:22:37.9408053Z         "impl": {
2026-06-08T23:22:37.9408363Z           "complete": true,
2026-06-08T23:22:37.9408654Z           "evidence": [
2026-06-08T23:22:37.9408932Z             {
2026-06-08T23:22:37.9409335Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-08T23:22:37.9409625Z               "line": 143
2026-06-08T23:22:37.9409911Z             },
2026-06-08T23:22:37.9410187Z             {
2026-06-08T23:22:37.9410594Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-08T23:22:37.9410889Z               "line": 463
2026-06-08T23:22:37.9411180Z             },
2026-06-08T23:22:37.9411459Z             {
2026-06-08T23:22:37.9411853Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-08T23:22:37.9412154Z               "line": 516
2026-06-08T23:22:37.9412439Z             },
2026-06-08T23:22:37.9412715Z             {
2026-06-08T23:22:37.9413117Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-08T23:22:37.9413407Z               "line": 69
2026-06-08T23:22:37.9413694Z             },
2026-06-08T23:22:37.9413979Z             {
2026-06-08T23:22:37.9414381Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-08T23:22:37.9414676Z               "line": 133
2026-06-08T23:22:37.9414958Z             },
2026-06-08T23:22:37.9415239Z             {
2026-06-08T23:22:37.9415635Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-08T23:22:37.9415936Z               "line": 243
2026-06-08T23:22:37.9416217Z             },
2026-06-08T23:22:37.9416498Z             {
2026-06-08T23:22:37.9416895Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-08T23:22:37.9417282Z               "line": 399
2026-06-08T23:22:37.9417578Z             },
2026-06-08T23:22:37.9417863Z             {
2026-06-08T23:22:37.9418265Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-08T23:22:37.9418566Z               "line": 527
2026-06-08T23:22:37.9418846Z             },
2026-06-08T23:22:37.9419123Z             {
2026-06-08T23:22:37.9419522Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-08T23:22:37.9419822Z               "line": 541
2026-06-08T23:22:37.9420108Z             },
2026-06-08T23:22:37.9420394Z             {
2026-06-08T23:22:37.9420790Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-08T23:22:37.9421091Z               "line": 596
2026-06-08T23:22:37.9421377Z             },
2026-06-08T23:22:37.9421653Z             {
2026-06-08T23:22:37.9422038Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-08T23:22:37.9422322Z               "line": 627
2026-06-08T23:22:37.9422608Z             },
2026-06-08T23:22:37.9422885Z             {
2026-06-08T23:22:37.9423275Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-08T23:22:37.9423677Z               "line": 41
2026-06-08T23:22:37.9423963Z             },
2026-06-08T23:22:37.9424244Z             {
2026-06-08T23:22:37.9424634Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-08T23:22:37.9424931Z               "line": 99
2026-06-08T23:22:37.9425314Z             },
2026-06-08T23:22:37.9425595Z             {
2026-06-08T23:22:37.9425987Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-08T23:22:37.9426283Z               "line": 130
2026-06-08T23:22:37.9426564Z             },
2026-06-08T23:22:37.9426844Z             {
2026-06-08T23:22:37.9427319Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-08T23:22:37.9427619Z               "line": 159
2026-06-08T23:22:37.9427900Z             },
2026-06-08T23:22:37.9428181Z             {
2026-06-08T23:22:37.9428562Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-08T23:22:37.9428859Z               "line": 190
2026-06-08T23:22:37.9429145Z             },
2026-06-08T23:22:37.9429426Z             {
2026-06-08T23:22:37.9429813Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-08T23:22:37.9430116Z               "line": 213
2026-06-08T23:22:37.9430397Z             },
2026-06-08T23:22:37.9430678Z             {
2026-06-08T23:22:37.9431070Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-08T23:22:37.9431370Z               "line": 231
2026-06-08T23:22:37.9431656Z             },
2026-06-08T23:22:37.9431937Z             {
2026-06-08T23:22:37.9432320Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-08T23:22:37.9432622Z               "line": 241
2026-06-08T23:22:37.9432906Z             },
2026-06-08T23:22:37.9433187Z             {
2026-06-08T23:22:37.9433574Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-08T23:22:37.9433879Z               "line": 253
2026-06-08T23:22:37.9434170Z             },
2026-06-08T23:22:37.9434456Z             {
2026-06-08T23:22:37.9434843Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-08T23:22:37.9435137Z               "line": 263
2026-06-08T23:22:37.9435420Z             },
2026-06-08T23:22:37.9435697Z             {
2026-06-08T23:22:37.9436083Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.9436374Z               "line": 87
2026-06-08T23:22:37.9436661Z             },
2026-06-08T23:22:37.9436937Z             {
2026-06-08T23:22:37.9437414Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.9437736Z               "line": 113
2026-06-08T23:22:37.9438011Z             },
2026-06-08T23:22:37.9438297Z             {
2026-06-08T23:22:37.9438688Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.9438989Z               "line": 128
2026-06-08T23:22:37.9439270Z             },
2026-06-08T23:22:37.9439547Z             {
2026-06-08T23:22:37.9439938Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.9440233Z               "line": 149
2026-06-08T23:22:37.9440523Z             },
2026-06-08T23:22:37.9440800Z             {
2026-06-08T23:22:37.9441191Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.9441491Z               "line": 161
2026-06-08T23:22:37.9441773Z             },
2026-06-08T23:22:37.9442059Z             {
2026-06-08T23:22:37.9442449Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.9442749Z               "line": 172
2026-06-08T23:22:37.9443035Z             },
2026-06-08T23:22:37.9443311Z             {
2026-06-08T23:22:37.9443700Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.9443997Z               "line": 438
2026-06-08T23:22:37.9444277Z             },
2026-06-08T23:22:37.9444559Z             {
2026-06-08T23:22:37.9444940Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.9445240Z               "line": 542
2026-06-08T23:22:37.9445518Z             },
2026-06-08T23:22:37.9445797Z             {
2026-06-08T23:22:37.9446187Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-08T23:22:37.9446596Z               "line": 171
2026-06-08T23:22:37.9446878Z             },
2026-06-08T23:22:37.9447250Z             {
2026-06-08T23:22:37.9447674Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-08T23:22:37.9447965Z               "line": 65
2026-06-08T23:22:37.9448345Z             },
2026-06-08T23:22:37.9448619Z             {
2026-06-08T23:22:37.9449006Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-08T23:22:37.9449301Z               "line": 71
2026-06-08T23:22:37.9449582Z             },
2026-06-08T23:22:37.9449864Z             {
2026-06-08T23:22:37.9450246Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-08T23:22:37.9450551Z               "line": 77
2026-06-08T23:22:37.9450832Z             },
2026-06-08T23:22:37.9451112Z             {
2026-06-08T23:22:37.9451460Z               "path": "crates/xtask/src/main.rs",
2026-06-08T23:22:37.9451765Z               "line": 649
2026-06-08T23:22:37.9452051Z             },
2026-06-08T23:22:37.9452333Z             {
2026-06-08T23:22:37.9452680Z               "path": "crates/xtask/src/main.rs",
2026-06-08T23:22:37.9452981Z               "line": 666
2026-06-08T23:22:37.9453262Z             },
2026-06-08T23:22:37.9453544Z             {
2026-06-08T23:22:37.9453903Z               "path": "crates/xtask/src/main.rs",
2026-06-08T23:22:37.9454194Z               "line": 709
2026-06-08T23:22:37.9454475Z             },
2026-06-08T23:22:37.9454753Z             {
2026-06-08T23:22:37.9455096Z               "path": "crates/xtask/src/main.rs",
2026-06-08T23:22:37.9455397Z               "line": 849
2026-06-08T23:22:37.9455677Z             },
2026-06-08T23:22:37.9455958Z             {
2026-06-08T23:22:37.9456309Z               "path": "crates/xtask/src/main.rs",
2026-06-08T23:22:37.9456603Z               "line": 999
2026-06-08T23:22:37.9456884Z             }
2026-06-08T23:22:37.9457242Z           ]
2026-06-08T23:22:37.9457537Z         },
2026-06-08T23:22:37.9457828Z         "int": {
2026-06-08T23:22:37.9458134Z           "complete": true,
2026-06-08T23:22:37.9458434Z           "evidence": [
2026-06-08T23:22:37.9458710Z             {
2026-06-08T23:22:37.9459131Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-08T23:22:37.9459422Z               "line": 567
2026-06-08T23:22:37.9459699Z             },
2026-06-08T23:22:37.9459980Z             {
2026-06-08T23:22:37.9460353Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-08T23:22:37.9460647Z               "line": 135
2026-06-08T23:22:37.9460930Z             }
2026-06-08T23:22:37.9461216Z           ]
2026-06-08T23:22:37.9461493Z         },
2026-06-08T23:22:37.9461782Z         "unit": {
2026-06-08T23:22:37.9462078Z           "complete": true,
2026-06-08T23:22:37.9462377Z           "evidence": [
2026-06-08T23:22:37.9462678Z             {
2026-06-08T23:22:37.9463118Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-08T23:22:37.9463404Z               "line": 434
2026-06-08T23:22:37.9463686Z             },
2026-06-08T23:22:37.9463966Z             {
2026-06-08T23:22:37.9464365Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-08T23:22:37.9464663Z               "line": 483
2026-06-08T23:22:37.9464945Z             },
2026-06-08T23:22:37.9465221Z             {
2026-06-08T23:22:37.9465623Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-08T23:22:37.9465918Z               "line": 689
2026-06-08T23:22:37.9466198Z             },
2026-06-08T23:22:37.9466480Z             {
2026-06-08T23:22:37.9466865Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-08T23:22:37.9467235Z               "line": 355
2026-06-08T23:22:37.9467530Z             },
2026-06-08T23:22:37.9467807Z             {
2026-06-08T23:22:37.9468199Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-08T23:22:37.9468495Z               "line": 392
2026-06-08T23:22:37.9468775Z             },
2026-06-08T23:22:37.9469056Z             {
2026-06-08T23:22:37.9469555Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.9469855Z               "line": 879
2026-06-08T23:22:37.9470131Z             },
2026-06-08T23:22:37.9470412Z             {
2026-06-08T23:22:37.9470798Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.9471099Z               "line": 901
2026-06-08T23:22:37.9471490Z             },
2026-06-08T23:22:37.9471767Z             {
2026-06-08T23:22:37.9472147Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.9472447Z               "line": 918
2026-06-08T23:22:37.9472725Z             },
2026-06-08T23:22:37.9473006Z             {
2026-06-08T23:22:37.9473401Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.9473692Z               "line": 933
2026-06-08T23:22:37.9473964Z             },
2026-06-08T23:22:37.9474241Z             {
2026-06-08T23:22:37.9474651Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-08T23:22:37.9474930Z               "line": 959
2026-06-08T23:22:37.9475210Z             },
2026-06-08T23:22:37.9475481Z             {
2026-06-08T23:22:37.9475854Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-08T23:22:37.9476144Z               "line": 455
2026-06-08T23:22:37.9476420Z             },
2026-06-08T23:22:37.9476697Z             {
2026-06-08T23:22:37.9477180Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-08T23:22:37.9477478Z               "line": 336
2026-06-08T23:22:37.9477771Z             },
2026-06-08T23:22:37.9478052Z             {
2026-06-08T23:22:37.9478401Z               "path": "crates/xtask/src/main.rs",
2026-06-08T23:22:37.9478696Z               "line": 1128
2026-06-08T23:22:37.9478978Z             },
2026-06-08T23:22:37.9479263Z             {
2026-06-08T23:22:37.9479631Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-08T23:22:37.9479925Z               "line": 130
2026-06-08T23:22:37.9480200Z             }
2026-06-08T23:22:37.9480490Z           ]
2026-06-08T23:22:37.9480773Z         }
2026-06-08T23:22:37.9481049Z       }
2026-06-08T23:22:37.9481326Z     }
2026-06-08T23:22:37.9481597Z   ],
2026-06-08T23:22:37.9481898Z   "findings": []
2026-06-08T23:22:37.9482174Z }
